SQL语句获取数据库文件全路径
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'
更改字段名