一些有用的系统存储过程及用法
---------------------------
得到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'
更改字段名
master库中
USE master
SELECT filename AS mdf文件名和路径
FROM sysdatabases
WHERE (name = '数据库名称')