net 对mssql 的操作(备份,还原,获取表数据,获取表字段信息)

 #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

时间: 2024-10-21 10:34:48

net 对mssql 的操作(备份,还原,获取表数据,获取表字段信息)的相关文章

mongodb 数据库操作--备份 还原 导出 导入

一,mongodump备份数据库 1,常用命令格 1 mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径 如果没有用户谁,可以去掉-u和-p. 如果导出本机的数据库,可以去掉-h. 如果是默认端口,可以去掉--port. 如果想导出所有数据库,可以去掉-d. 2,导出所有数据库 1 2 3 4 5 6 7 8 9 10 [[email protected] mongodb]# mongodump -h 127.0.0.1 -o /hom

MSSQL Server 数据库备份还原常用SQL语句及注意

1.备份数据库 backup database db_name to disk='d:\db_name.bak' with format --通过使用with format可以做到覆盖任何现有的备份和创建一个新的媒体集.--可以避免一些由于备份设置产生的错误.--帮助文档上的解释:--format指定应将媒体头写入用于此备份操作的所有卷.--任何现有的媒体头都被重写.format选项使整个媒体内容无效,--并且忽略任何现有的内容. 2.备份日志 backup log log_name to di

mongodb数据库操作--备份 还原 导出 导入

首先数据库备份: mongodump -h IP --port 端口 -u 用户名 -p 密码 -d 数据库 -o 文件存在路径  mongodump -h 127.0.0.1 -u admin -p xxx -d blog -o '/home/timeless/桌面/mongodump' --authenticationDatabase admin 注意  --authenticationDatabase  参数制定认证数据库   否则会提示错误: Failed: error connecti

SQL SERVER 获取表字段信息

CREATE PROCEDURE [Common].[ProcLoadColumnInfo] @inObjectName sysname AS BEGIN SELECT  TableCatalog = DB_NAME() , TableSchema = SCHEMA_NAME(C.schema_id) , TableName = D.name , ColumnName = A.name , ColumnPosition = A.colorder , DataType = B.name , Max

获取表数据的插入SQL

DECLARE @TABLE_NAME VARCHAR(200) SET @TABLE_NAME = 'myFunction' --表名 DECLARE @TABLE_CONDITION VARCHAR(200) SET @TABLE_CONDITION = 'where Application=''0303'' AND FunctionType=''功能''' --条件 DECLARE @sql VARCHAR(5000) SET @sql='' DECLARE @col VARCHAR(50

备份校验两不误,MySQL自动备份还原校验设计详解

作者介绍庞阔,优朋普乐传媒运维基础部经理.负责数据库运营管理及平台设计开发,监控设计改进,问题跟踪处理,机房网络维护管理,目前四个专利已在专利局申请中.擅长数据库运维管理及Shell.Perl.PHP编写. 最近关于数据库故障出现的问题较多,不论大小公司对数据的备份要求都很高,但对校验数据备份的有效性要求更为迫切,很多公司对于自动备份和还原都已经形成体系,但对于还原后的备份有效性校验可能都不太完善,而且目前网上也没有较为完善的检验机制(可能我没找到). 对数据库备份的有效性校验的方法或样例选择,

python--MySQL权限管理 数据备份还原

一 权限管理 mysql最高管理者是root用户, 这个一般掌握在公司DBA手里, 当你想去对数据库进行一些操作的时候,需要DBA授权给你. 1. 对新用户增删改 1. 创建用户 # 要先use mysql 先进入mysql这个库下面,然后进行下面操作 # 指定ip为 192.168.1.1 的 attila用户登录 create user 'attila' @ '192.168.1.1' identified by '123'; # 123 是密码 # 指定ip为 192.168.1. 开头的

hbase备份还原opentsdb数据之Export/Import(增量+全量)

前言 本文基于伪分布式搭建 hadoop+zookeeper+hbase+opentsdb之后,文章链接:https://www.cnblogs.com/yybrhr/p/11128149.html,对于Hbase数据备份和恢复的几种方法已经有很多大神说明了很多(https://www.cnblogs.com/ballwql/p/hbase_data_transfer.html对hbase迁移数据的4种机制都做了说明),我就不做过多描述.本文主要实战Export 本地备份还原opentsdb数据

备份还原oracle数据库

Winserver 和 linxu 下的备份还原命令是相同的 基本格式: imp和exp不适合大文件备份,如果文件超过20个G,这种方式效率会很低,如果文件过大,可以采用Rman方式进行备份还原 exp bim_dev/[email protected] file=c:\bim_dev.dmp owner=bim_dev imp bim_dev/[email protected] file=c:\bim_dev.dmp full=y ignore=y l 错误信息处理:如果是本地链接导入库,不需