PDA

View Full Version : سوال: نحوه بدست آوردن نام اصلی دیتابیس Sql2008



gilsoft
چهارشنبه 19 بهمن 1390, 02:44 صبح
سلام دوستان
من میخوام در فرم لاگین نام اصلی بانک Sql رو بذارم .. نه اونیکه میشه با F2 تغییر داد.
به تصویر نگاه کنید

82213


نام اصلی Razdar1_1390 در واقع Data1_1390.mdf و Data1_1390_log.ldf هست .. اما در Object Browser با زدن کلید F2 میشود نام آن را به دلخواه کاربر (شیطون !!) تغییر داد. به تصویر زیر نگاه کنید :


82214

من میخوام اون Data1_1390 رو تو لیست ComboBox نشون بدم .. بدین ترتیب که بتونم اونو فیلتر کنم تا سایر دیتابیس ها تو لیست نیان !! (با فیلتر کردن هم تقریبا مشکلی ندارم)
نمونه کد زیر رو هم ملاحظه بفرمایید :
Dim j, k As Integer
k = cbxCompany.Items.Count
j = 0
Dim SqlCmd As New SqlCommand("sp_helpDB", DbSql.DbConnection)
SqlCmd.CommandType = CommandType.StoredProcedure
Dim dr As SqlDataReader = SqlCmd.ExecuteReader
If dr.Read() = True Then
cbxCompany.BeginUpdate()
cbxCompany.Items.Item(j).Text = dr.Item("Name").ToString
cbxCompany.Items.Item(j).TextAlignment = 2
j += 1
Do While dr.Read()
cbxCompany.Items.Item(j).Text = dr.Item("Name").ToString
cbxCompany.Items.Item(j).TextAlignment = 2
j += 1
Loop
Dim l As Integer
For l = j To k - 1
cbxCompany.Items.RemoveAt(j)
Next
cbxCompany.EndUpdate()
End If
اگه راهنمایی بفرمایید ممنون میشم ...

shadi khanum
چهارشنبه 19 بهمن 1390, 08:22 صبح
دوست عزیز با این دستور Sql میتونی نام فایل mdf اون دیتابیسی که میخوای رو بدست بیاری
select physical_name from sys.master_files
where database_id = db_id('DBName')
and type_desc = 'ROWS'
و با این دستور نام فایل ldf دیتابیستون رو:
select physical_name
from sys.master_files
where database_id = db_id('DBName')
and type_desc = 'LOG'

gilsoft
چهارشنبه 19 بهمن 1390, 14:19 عصر
دوست عزیز با این دستور Sql میتونی نام فایل mdf اون دیتابیسی که میخوای رو بدست بیاری
select physical_name from sys.master_files
where database_id = db_id('DBName')
and type_desc = 'ROWS'
و با این دستور نام فایل ldf دیتابیستون رو:
select physical_name
from sys.master_files
where database_id = db_id('DBName')
and type_desc = 'LOG'
سلام دوست عزیز
ممنونم از توجه تون
کد شما رو به شکل زیر تصحیح می کنم

SELECT name
FROM sys.master_files
WHERE (left(name,4) = 'Data') AND (type_desc = 'ROWS')
ORDER BY name ;