WEB开发网
开发学院数据库MSSQL Server SQL Server编程系列(1):SMO介绍 阅读

SQL Server编程系列(1):SMO介绍

 2012-05-17 07:33:39 来源:WEB开发网   
核心提示:我看到有人在Stack Overflow提了和我疑惑相同的问题,别人给了一个答案就是在VS2010中安装Muse.VSExtensions来解决,SQL Server编程系列(1):SMO介绍(4),安装地址:http://visualstudiogallery.msdn.microsoft.com/36a6eb45-

我看到有人在Stack Overflow提了和我疑惑相同的问题,别人给了一个答案就是在VS2010中安装Muse.VSExtensions来解决,安装地址:http://visualstudiogallery.msdn.microsoft.com/36a6eb45-a7b1-47c3-9e85-09f0aef6e879/,我尝试了一下不是很理想,不过Muse.VSExtensions还提供了其它的功能(比如移除未使用的程序集)还是不错的。
注意在编译下面的代码之前需要添加对microsoft.sqlserver.connectioninfo.dll和microsoft.sqlserver.smo.dll的引用。
代码如下:
using System; 
using Microsoft.SqlServer.Management.Common;//需添加microsoft.sqlserver.connectioninfo.dll的引用 
using Microsoft.SqlServer.Management.Smo;//需添加microsoft.sqlserver.smo.dll的引用 
namespace SSISStudy 
{ 
   /// <summary> 
   /// SQL Server编程些列文章(1):SMO介绍的配套代码 
   /// 作者:周公  
   /// 创建日期:2012-05-17  
   /// 博客地址:http://blog.csdn.net/zhoufoxcn http://zhoufoxcn.blog.51cto.com  
   /// 新浪微博地址:http://weibo.com/zhoufoxcn   
   /// </summary> 
   class SMODemo01 
   { 
       /// <summary> 
       /// 显示数据库的概要情况 
       /// </summary> 
       public static void ShowServerInfo() 
       { 
           //创建ServerConnection的实例 
           ServerConnection connection = new ServerConnection(); 
           //指定连接字符串 
           connection.ConnectionString = "Data Source=goodapp;Initial Catalog=master;User ID=sa;Password=root;"; 
           //实例化Server 
           Server server = new Server(connection); 
           Console.WriteLine("ActiveDirectory:{0}", server.ActiveDirectory); 
           Console.WriteLine("InstanceName:{0}",server.InstanceName); 
           //列出当前SQL Server实例中的登录用户 
           foreach (Login login in server.Logins) 
           { 
               Console.WriteLine("Name:{0},CreateDate:{1},DefaultDatabase:{2}", login.Name, login.CreateDate, login.DefaultDatabase); 
           } 
           //通过索引方式找到master数据库 
           Database db = server.Databases["master"]; 
           Console.WriteLine("Database:{0}", db.Name); 
           Console.WriteLine("CreateDate:{0},Dbo:{1}", db.CreateDate, db.Owner); 
           Console.WriteLine("DataSpaceUsage:{0},SpaceAvailable:{1}", db.DataSpaceUsage, db.SpaceAvailable); 
           Console.WriteLine("PrimaryFilePath:{0}", db.PrimaryFilePath); 
           //列出master数据库下每个表的概要信息 
           foreach (Table table in db.Tables) 
           { 
               Console.WriteLine("\tTable:{0},DataSpaceUsed:{1},CreateDate:{2}", table.Name, table.DataSpaceUsed, table.CreateDate); 
               //urnCollection.Add(table.Urn); 
               //列出每个表中每个列的概要信息 
               foreach (Column column in table.Columns) 
               { 
                   Console.WriteLine("\t\tColumn:{0},DataType:{1},Nullable:{2}", column.Name, column.DataType, column.Nullable); 
               } 
           } 
           //列出master数据库中的角色信息 
           foreach(DatabaseRole dbRole in db.Roles) 
           { 
               Console.WriteLine("DB Role {0} Created at {1}", dbRole.Name, dbRole.CreateDate); 
           } 
           Console.ReadLine(); 
       } 
   } 
} 

上一页  1 2 3 4 5  下一页

Tags:SQL Server 编程

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接