#region 数据库管理 /// <summary> /// 还原恢复数据库 /// </summary> /// <param name="FilePath">保存路径</param> /// <returns></returns> public bool DataRestore(string FilePath) { string[] Connection = ConfigHelper.GetAppSettings("SqlServer_WYL_DB").Split(';'); SqlServerBackup sqlserverbackup = new SqlServerBackup(); sqlserverbackup.Server = Connection[0].Substring(7); sqlserverbackup.Database = Connection[1].Substring(9); sqlserverbackup.Uid = Connection[2].Substring(4); sqlserverbackup.Pwd = Connection[3].Substring(4); if (sqlserverbackup.DbRestore(FilePath)) return true; else return false; } /// <summary> /// 备份数据库 /// </summary> /// <param name="FilePath">保存路径</param> /// <returns></returns> public bool DataBackups(string FilePath) { try { string[] Connection = ConfigHelper.GetAppSettings("SqlServer_WYL_DB").Split(';'); SqlServerBackup sqlserverbackup = new SqlServerBackup(); sqlserverbackup.Server = Connection[0].Substring(7); sqlserverbackup.Database = Connection[1].Substring(9); sqlserverbackup.Uid = Connection[2].Substring(4); sqlserverbackup.Pwd = Connection[3].Substring(4); if (sqlserverbackup.DbBackup(FilePath)) return true; else return false; } catch (Exception) { return false; } } /// <summary> /// 添加数据库备份恢复记录 /// </summary> /// <param name="Type">类型:备份、恢复</param> /// <param name="File">文件名</param> /// <param name="Size">文件大小</param> /// <param name="CreateUserName">创建用户</param> /// <param name="DB">所属数据库</param> /// <param name="Memo">备注</param> /// <returns></returns> public void Add_Backup_Restore_Log(string Type, string File, string Size, string CreateUserName, string DB, string Memo) { LogHelper Logger = new LogHelper("Backup_Restore_Log"); Hashtable ht = new Hashtable(); StringBuilder sb = new StringBuilder(); sb.Append(Type + "∫"); sb.Append(File + "∫"); sb.Append(Size + "∫"); sb.Append(CreateUserName + "∫"); sb.Append(DB + "∫"); sb.Append(Memo + "∫"); sb.Append(DateTime.Now + "∫"); sb.Append("∮"); Logger.WriteLog(sb.ToString()); } /// <summary> /// 数据库备份还原记录 /// </summary> /// <returns></returns> public DataTable GetBackup_Restore_Log_List() { LogHelper Logger = new LogHelper("Backup_Restore_Log"); string filepath = ConfigHelper.GetAppSettings("LogFilePath") + "/Backup_Restore_Log.log"; StreamReader sr = new StreamReader(filepath, Encoding.GetEncoding("UTF-8"));//取得这txt文件的编码 string[] strvalue = sr.ReadToEnd().ToString().Split('∮'); sr.Close(); DataTable dt = new DataTable(); dt.Columns.Add("Backup_Restore_Type", Type.GetType("System.String")); dt.Columns.Add("Backup_Restore_File", Type.GetType("System.String")); dt.Columns.Add("Backup_Restore_Size", Type.GetType("System.String")); dt.Columns.Add("CreateUserName", Type.GetType("System.String")); dt.Columns.Add("Backup_Restore_DB", Type.GetType("System.String")); dt.Columns.Add("Backup_Restore_Memo", Type.GetType("System.String")); dt.Columns.Add("CreateDate", Type.GetType("System.String")); foreach (string item in strvalue) { if (item.Length > 6) { string[] str_item = item.Split('∫'); DataRow row = dt.NewRow(); string[] Typeitem = str_item[0].Split(']'); row["Backup_Restore_Type"] = Typeitem[1].Trim(); row["Backup_Restore_File"] = str_item[1]; row["Backup_Restore_Size"] = str_item[2]; row["CreateUserName"] = str_item[3]; row["Backup_Restore_DB"] = str_item[4]; row["Backup_Restore_Memo"] = str_item[5]; row["CreateDate"] = str_item[6]; dt.Rows.Add(row); } } dt.DefaultView.Sort = "CreateDate DESC";//DataTable排序 DataTable dtTemp = dt.DefaultView.ToTable(); return dtTemp; } /// <summary> /// 获取数据库所有表名 /// </summary> /// <returns></returns> public DataTable GetSysobjects() { StringBuilder strSql = new StringBuilder(); strSql.Append("select Name as TABLE_NAME from sysobjects where xtype='u' and status >=0 and Name !='sysdiagrams' "); return DataFactory.SqlDataBase().GetDataTableBySQL(strSql); } /// <summary> /// 获取某一个表的所有字段 /// </summary> /// <param name="object_id">表名</param> /// <returns></returns> public DataTable GetSyscolumns(string object_id) { DataTable dt = new DataTable(); StringBuilder strSql = new StringBuilder(); if (!string.IsNullOrEmpty(object_id) && object_id != "未选择") { strSql.Append(@"SELECT [列名]=a.name, [数据类型]=b.name, [长度]=COLUMNPROPERTY(a.id,a.name,'PRECISION'), [是否为空]=case when a.isnullable=1 then '√'else '' end, [默认值]=isnull(e.text,''), [说明]=isnull(g.[value],'未填说明') FROM syscolumns a left join systypes b on a.xusertype=b.xusertype inner join sysobjects d on a.id=d.id and d.xtype='U' and d.name<>'dtproperties' left join syscomments e on a.cdefault=e.id left join sys.extended_properties g on a.id=g.major_id and a.colid=g.minor_id left join sys.extended_properties f on d.id=f.major_id and f.minor_id=0"); strSql.Append("where d.name='" + object_id + "' order by a.id,a.colorder"); return DataFactory.SqlDataBase().GetDataTableBySQL(strSql); } return dt; } #endregion
详细解决方案
net 对mssql 的操作(备份,复原,获取表数据,获取表字段信息)
热度:18 发布时间:2016-05-05 10:55:18.0
相关解决方案
- 怎么跟踪winform应用程序发送到数据库的sql(oracle、mssql)
- mssql 可以作桌面数据库吗
- 关于用.net 将Excel文件导入到数据库(MSSQL)的有关问题
- 寻.net、MsSQL、C#方面的老师解决思路
- 怎么在WIN2003+IIS 配置ASP+PHP+JSP,数据库:MSSQL+MYSQL
- mssql 如何样把某列的数据删除
- mssql 的查询语法有关问题
- ASP+ACESS(MSSQL)模式,还是php+mysql模式?解决办法
- PHP 连接MSSQL ,用UTF8提交到MSSQL,mssql 后台管理查询乱码有关问题
- php 连接 mssql 的一些有关问题,诚心求人解答
- php-5.3.3 连接 mssql 失败?解决思路
- php 读取 mssql 里的空值 怎么判断
- php连接mssql的有关问题 Warning: mssql_connect() [function.mssql-connect]
- MSSQL SERVER超时已经过期的有关问题
- mssql JDBC驱动哪里有下啊
- 要支持oracle mssql mysql db2等多个数据库,大家是如何维护脚本的啊
- MSSQL 地区排除查询有关问题
- MSSQL Profiler 追踪到的数据都是两条
- SSRS(MSSQL 2014)预览跟列印排版位移
- mssql 根据时间回计算总值
- MSSQL 表中千万数据更新需要10多分钟 请教如何优化
- MSSQL 2008 自增列乱跳,该如何解决
- mssql 怎么让 字段值 为 其他记录值的计算结果
- mssql 在update语句中怎么使用order by
- MSSQL 怎么将两个游标的结果集合并
- mssql 怎么设置登录用户只能查询修改表和执行存储过程的权限
- MSSQL 怎么用脚本查询服务器所有数据库在硬盘上存储的地址
- mssql 中 如其让表 接受两个数据集
- struct如何写入到数据库的varbinary 中,Sql语句如何构造?MSSQL
- windows 2003 MSSQL 2008R2 执行操作时忽然断电