博文

SQL Server中各个系统表的作用(2006-06-06 09:53:00)

摘要:sysaltfiles            主数据库               保存数据库的文件
syscharsets        主数据库               字符集与排序顺序
sysconfigures     主数据库               配置选项
syscurconfigs     主数据库               当前配置选项
sysdatabases    主数据库               服务器中的数据库
syslanguages    主数据库               语言
syslogins            主数据库      ......

阅读全文(1671) | 评论:0

浅谈几个SQL的日志概念 (2006-06-06 09:51:00)

摘要:浅谈几个SQL的日志概念

今天抽出一点时间解释几个关于SQL日志的概念,他们也经常使初学者望而止步,反正计算机的术语都是很抽象的,所以第一感觉就是头疼,然后然后几次后就没感觉了.以下有些是从书上摘抄的,有的是从网上找的算是借花献佛吧!!

物理日志文件:
    这个比较好理解,实实在在的东西,数据库目录下面的.ldf文件就是,有些人喜欢改后缀,感觉不大好,数据库的事务日志记录就在这里面

虚拟日志:
    相信多数人有这个感觉,虚拟这个字眼总是神秘的代名词,虚拟个饭岛爱我喜欢,但虚拟日志,虚拟内存,虚拟。。。。,看了就讨厌。解释应该是这样的,对于一个或多个连续的物理日志文件,SQL SERVER在这些文件的内部又划分成了多个小的文件,称为虚拟日志文件,他是日志文件收缩和日志截断的最小单位,比如物理日志文件是400M,内部划分了4个100M的虚拟文件,收缩时你得到的是300M,200M,不可能得到239M,对于一个物理文件,会划分成多少个虚拟文件,这个由SQL自己维护,唯一可以人工干预的是指定较大的物理日志文件,并指定较大的增长比例,这样可能虚拟文件的块头会大点,数量会少点,系统的维护开销会低一点

逻辑日志:
    不要头晕,硬着头皮看吧!!!感觉这个应该是数据库事务日志的真实写照,物理日志文件好比是一个容器,里面容纳的是日志记录,这些记录就称为逻辑日志,从物理日志文件的起点开始,逻辑日志顺序的生成,记录下数据库里发生的每个事务,这些事务被打上一个标签,LSN,顺序的排列下来,这样逻辑日志就在物理日志文件内慢慢的成长,直到充满了他,这个时候物理日志文件就会自动添加新的空间,以继续前面的步骤,这种情况是最直接的一种(从来不截断日志,基本上就是这样的),但事实上往往是复杂的多

检测点(checkpoint)和恢复周期(recovery interval):
    checkpoint不是用于检查数据是否完整,页面连接是否正确的,他是由系统维护的一个进程(你也可以手工的执行),用于将高速缓存里的脏页刷新到磁盘,两者的配合算是惟妙惟肖,当缓存中的脏页积累到一定的数量,SQL估计演算这些脏页要花的时间快......

阅读全文(1780) | 评论:0

SQL Server]管理常用SQL语句(2006-06-06 09:50:00)

摘要:1. 查看数据库的版本           select @@version   2. 查看数据库所在机器操作系统参数          exec master..xp_msver
  3. 查看数据库启动的参数           sp_configure
  4. 查看数据库启动时间           select convert(varchar(30),login_time,120) from master..sysprocesses where spid=1   查看数据库服务器名和实例名   print 'Server Name...............:' + convert(varchar(30),@@SERVERNAME)           print 'Instance..................:' + convert(varchar(30),@@SERVICENAME)  
       
  5. 查看所有数据库名称及大小       sp_helpdb   重命名数据库用的SQL   sp_renamedb 'old_dbname', 'new_dbname'
  6. 查看所有数据库用户登录信息       sp_helplogins   查看所有数据库用户所属的角色信息          sp_helpsrvrolemember   修复迁移服务器时孤立用户时,可以用的fix_orphan_user脚本......

阅读全文(2504) | 评论:0

正则表达式之道(2006-06-05 14:25:00)

摘要:译者按:原文因为年代久远,文中很多链接早已过期(主要是关于vi、sed等工具的介绍和手册),本译文中已将此类链接删除,如需检查这些链接可以查看上面链接的原文。除此之外基本照原文直译,括号中有“译者按”的部分是译者补充的说明。如有内容方面的问题请直接和Steve Mansor联系,当然,如果你只写中文,也可以和我联系。 目 录 什么是正则表达式
范例
   简单
   中级(神奇的咒语)
   困难(不可思议的象形文字)
不同工具中的正则表达式 什么是正则表达式一个正则表达式,就是用某种模式去匹配一类字符串的一个公式。很多人因为它们看上去比较古怪而且复杂所以不敢去使用——很不幸,这篇文章也不能够改变这一点,不过,经过一点点练习之后我就开始觉得这些复杂的表达式其实写起来还是相当简单的,而且,一旦你弄懂它们,你就能把数小时辛苦而且易错的文本处理工作压缩在几分钟(甚至几秒钟)内完成。正则表达式被各种文本编辑软件、类库(例如Rogue Wave的tools.h++)、脚本工具(像awk/grep/sed)广泛的支持,而且像Microsoft的Visual C++这种交互式IDE也开始支持它了。 我们将在如下的章节中利用一些例子来解释正则表达式的用法,绝大部分的例子是基于vi中的文本替换命令和grep文件搜索命令来书写的,不过它们都是比较典型的例子,其中的概念可以在sed、awk、perl和其他支持正则表达式的编程语言中使用。你可以看看不同工具中的正则表达式这一节,其中有一些在别的工具中使用正则表达式的例子。还有一个关于vi中文本替换命令(s)的简单说明附在文后供参考。 正则表达式基础正则表达式由一些普通字符和一些元字符(metacharacters)组成。普通字符包括大小写的字母和数字,而元字符则具有特殊的含义,我们下面会给予解释。 在最简单的情况下,一个正则表达式看上去就是一个普通的查找串。例如,正则表达式"testing"中没有包含任何元字符,,它可以匹配"testing"和"123testing"等字符串,但是不能匹配"Testing"。 要想真正的用好正则表达式,正确的理解元字符是最重要的事情。下表列出了所有的元字符和对它们的一个简......

阅读全文(2002) | 评论:0

用C#创建Windows Service (2006-06-02 09:34:00)

摘要: CSDNBlog 我的首页 联系作者 聚合 搜索 登录 Blog统计 原创 - 48 翻译 - 0 转贴 - 1 点击 - 12398 评论 - 60 Trackbacks -4 公告原来自己可以更努力一点 knight94cn@etang.com 文章 编程随想(RSS) 高级编程(c#)(RSS) 新手入门(c#)(RSS) 收藏 相册 网址推荐 Code Project FAQ Asp.Net FAQ WinForm 存档 2006年05月(11) 2006年04月(8) 2006年03月(30) 最近评论 yjb5566:很不错
如果有数据库,像SQL Serve连接的,就更好了 C#初学者:对不起大大,我写了下还是没有成功...
现在怎样把写的代码改成能向你生成树那样的代码?还请教教啊谢谢:
StreamWriter objWriter=new StreamWriter("C:\\TreeFile.men", false, Encoding.Default);
//遍历TreeView
System.Text.St…… knight94:As the upper code, there is no return value in your function named "ImportBySinglePackage".

By the way, you should check the invoke's return value in your "ImportPackages&qu…… DisonWorld:Hello Knight94,

I have tried the Invoke, but the ui seem to be dead, and the import order seems to wrong.
For example:
PackageA: no files to import
PackageB: need to import fil…… knight94:to DisonWorld

阅读全文(3557) | 评论:0

.Net下的数据备份和还原(2006-05-31 17:01:00)

摘要: 数据库:SQL Server  ;引用SQLDMO
◆数据备份 :
 /// <summary>
  /// 备份数据库
  /// </summary>
  private void btnBackUp_Click(object sender, System.EventArgs e)
  {
   this.Cursor = Cursors.WaitCursor;
   this.label1.Text = "  正在进行档案库的数据备份,这可能需要几秒到几十的时间,请稍候...";
   this.label1.Visible = true;
   this.label1.Refresh();
   this.PBar1.Visible = true;
   //------------------------------------------------------------------------------------    
   string selfName = “D:\NorthwindBak“;
   string deviceName = “NorthwindBak“;
   string remark = "备份测试";
   
   //◆数据备份:
   SQLDMO.Backup oBackup = new SQLDMO.BackupClass();
   SQLDMO.SQLServer oSQLServer = new SQLDMO.SQLSer......

阅读全文(2446) | 评论:0

c#中ref和out参数使用时需要注意的问题(2006-05-31 16:56:00)

摘要:昨天写了个关于socket接收udp包的程序,调用了socket.ReceiveFrom方法,发现了一个c#中关于ref和out参数传递时的问题,这里提出来和大家共同探讨一下,首先声明,下面的结论都是本人推测,还没有得到任何定论,若有错误请大家指正。 首先,ReceiveFrom方法的原型为        public int ReceiveFrom(byte[], ref EndPoint); 有一个为ref的EndPoint参数,用它来返回收到包的源地址信息,ref的语义是传引用,即对所传引用的修改可以反映到方法外面。我一般都使用IPEndPoint来表示地址信息,所以很自然的使用了如下的调用方法        (代码1)        IPEndPoint iep = new IPEndPoint(IPAddress.Any,0);        socket.ReceiveFrom(buffer,ref  (EndPoint)iep); 这时编译时出现了一下的错误,“ref或out参数必须是一个lvalue”,iep怎么会不是一个左值呢?关键是在调用方法时使用的强制转换(例如(EndPoint)iep),我改了一下代码        (代码2) IPEndPoint iep = new IPEndPoint(IPAddress.Any,0);        EndPoint ep = (EndPoint)iep;        socket.ReceiveFrom(buffer,ref  (EndPoint)iep); 这次通过编译了。为什么在方法调用时会出问题?这里要考虑类型强制转换时的一个细节,强制转换时编译器会先生成一个临时引用,然后再把这个临时引用传给一个和转换类型相同的引用,这个临时引用比......

阅读全文(1850) | 评论:0

C#数据库连接字符大全(2006-05-31 16:49:00)

摘要:   SQL Server  ODBC

 Standard Security:
"Driver={SQL Server};Server=Aron1;Database=pubs;Uid=sa;Pwd=asdasd;"

 Trusted connection:
"Driver={SQL Server};Server=Aron1;Database=pubs;Trusted_Connection=yes;"

 Prompt for username and password:
oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Driver={SQL Server};Server=Aron1;DataBase=pubs;"

 OLE DB, OleDbConnection (.net)

 Standard Security:
"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;User Id=sa;Password=asdasd;"

 Trusted Connection:
"Provider=sqloledb;Data Source=Aron1;Initial Catalog=pubs;Integrated Security=SSPI;" (use serverName\instanceName as Data Source to use an specifik SQLServer instance, only SQLServer2000)  Prompt for username and password:
oConn.Provider = "sqloledb"
oConn.Properties("Prompt") = adPromptAlways
oConn.Open "Data Source=Aron1;Initial Cata......

阅读全文(2126) | 评论:0

关于SQLSERVER数据操作的常用类库(2006-05-31 16:25:00)

摘要:  根据自己平时的经验写的针对SQLSERVER操作的通用类库
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;

namespace Whgw_lc
{
/// <summary>
/// Data 的摘要说明。
/// </summary>
/// <summary>
/// 数据库相关操作类
/// 作者:DarkAngel
/// 时间:2004-9-24
/// </summary>
public class Data
{
/// <summary>
///连接数据库字符串
/// </summary>
protected static string con="data source=10.68.19.203;initial catalog=Whgw;persist security info=False;user id=sa;password=sc2000;workstation id=DARKANGEL;packet size=4096";
/// <summary>
/// 数据库连接对象
/// </summary>
protected System.Data .SqlClient.SqlConnection DataConnection;
/// <summary>
/// SqlDataAdapter对象
/// </summary>
protected System.Data.SqlClient.SqlDataAdapter DataAdapter;
/// <summary>
/// SqlCommand对象
/// </summary>
protected System.Dat......

阅读全文(1731) | 评论:0

用C#给程序加启动画面并只允许一个应用程序实例运行(2006-05-31 16:20:00)

摘要:1、   启动画面类:      public class SplashForm : System.Windows.Forms.Form      {          private System.Windows.Forms.PictureBox pictureBox1;          private System.Windows.Forms.Label label1;          private System.Windows.Forms.Label lbl_version;          /// <summary>          /// 必需的设计器变量。          /// </summary>           private System.ComponentModel.Container components = null;            public SplashForm()          {               //         &......

阅读全文(1648) | 评论:0