SQL Server 获取所有表和数据的批量操作
最近要写触发器,对数据库中每个用户表都要写,一查170多个表,晕了~,想偷懒自制程序完成这些一些批量的操作,所以搜集了一下对数据库其他操作的东东!
--一时兴起,随处搜集
1、创建数据库
CREATE DATABASE DB001--默认路径和大小
2、创建用户
CREATE LOGIN USER1 WITH PASSWORD = 'USER_PW';
3、修改数据的所有者
USE DB001
exec sp_changedbowner 'USER1'
4、 设置READ_COMMITTED_SNAPSHOT
ALTER DATABASE [DB001] SET READ_COMMITTED_SNAPSHOT ON
5、获取所有数据库名
Select Name FROM Master..SysDatabases
6、获取所有表名
select name from sysobjects where type='U'
/*
XType='U':表示所有用户表;
XType='S':表示所有系统表;
*/
7、获取所有字段名
Select Name from SysColumns Where id=Object_Id('TableName')
8、查看与某一个表相关的视图、存储过程、函数
select a.* from sysobjects a, syscomments b where a.id = b.id and b.text like '%TableName%'
9、查询某一个表的字段和数据类型
select column_name,data_type from information_schema.columns
where table_name = N'TableName'
10、获取数据库文件路径
select ltrim(rtrim(filename)) from dbname ..sysfiles where charindex('MDF',filename)>0
or
select ltrim(rtrim(filename)) from dbname ..sysfiles where charindex('LDF',filename)>0