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();
}
}
}
- ››sql server自动生成批量执行SQL脚本的批处理
- ››sql server 2008亿万数据性能优化
- ››SQL Server 2008清空数据库日志方法
- ››sqlserver安装和简单的使用
- ››SQL Sever 2008 R2 数据库管理
- ››SQL SERVER无法安装成功,sqlstp.log文件提示[未发...
- ››Sql Server中通过父记录查找出所有关联的子记录
- ››SqlServer触发器、存储过程和函数
- ››SQL Server 中的事务(含义,属性,管理)
- ››Sqlite数据库插入和读取图片数据
- ››Sql server 2005拒绝了对对象 'xx表' (数...
- ››Sql server 2005拒绝了对对象 'xx表' (数...
更多精彩
赞助商链接
