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



posted @ 2011-08-12 11:23  月夜清风  阅读(860)  评论(0编辑  收藏  举报