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

一些有用的系统存储过程及用法

—————————

得到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_enumdomains

exec   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’

更改字段名