select  * from sysfiles

解决方案 »

  1.   

    select filename from master.dbo.sysdatabases where name = @databasename
      

  2.   

    一些有用的系统存储过程及用法
    ---------------------------
    得到SQL SERVER 的服务器名
    select convert(sysname, serverproperty(N'servername'))读取键值
    xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\Setup', N'SQLPath'得到SQL SERVER 平台信息
    xp_msver N'ProductVersion', N'Language', N'Platform', N'WindowsVersion', N'ProcessorCount', N'PhysicalMemory'得到SQL SERVER实例的登陆模式
    xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer', 'LoginMode'
    LoginMode=2则为混合认证=1缺省 nt认证 =0 sa认证
    The login security mode; 0 indicates Normal, 1 indicates Windows NT Integrated, and 2 indicates Mixed.修改SQL SERVER实例的登陆模式
    xp_instance_regwrite N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\MSSQLServer', 'LoginMode', N'REG_DWORD', 1
    1---Windows认证模式
    2---SQL和Windows认证模式得到sql server 服务器名,和域名列表
    xp_ntsec_enumdomainsexec sp_grantdbaccess N'zhang', N'zhang'
    exec sp_droplogin N'zhang'
    exec sp_revokedbaccess N'zhang'
    exec sp_dbcmptlevel N'dbname'sp_stored_procedures 
    得到存储过程列表xp_availablemedia 2
    得到硬盘分区信息EXECUTE master.dbo.xp_dirtree N'E:\', 1, 1 
    得到E:\下的文件列表EXECUTE master.dbo.xp_fileexist N'F:\Program Files\Microsoft SQL Server\MSSQL\BACKUP\fdsa.dat'
    文件是否存在backup log database_name with NO_LOG|TRUNCATE_ONLY 
    截断事务日志DBCC SHRINKDATABASE database_name
    收缩数据库exec sp_addumpdevice N'disk', N'bakdevice', N'D:\BACKUP\bakdevice'
    添加备份设备
    exec sp_dropdevice N'bakdevice'
    删除备份设备xp_instance_regread N'HKEY_CURRENT_USER', N'Software\Microsoft\MSSQLServer', N'LastBackupFileDir'
    上次备份的路径xp_instance_regwrite N'HKEY_CURRENT_USER', N'Software\Microsoft\MSSQLServer', N'LastBackupFileDir',REG_SZ, N'D:\Program Files\Microsoft SQL Server\MSSQL$FANHUI\BACKUP\'
    改写备份路径sp_rename 'tablename.id1','id'
    更改字段名
      

  3.   

    master库中
    USE master 
    SELECT filename AS mdf文件名和路径
                 FROM sysdatabases
                 WHERE (name = '数据库名称')