SQL SERVER应用问题解答13例(二)

 更新时间:2016年11月25日 16:44  点击:2211
问:Tempdb In Ram的配置出错怎么办?
  答:SQL Server提供了将Tempdb存放在内存中的机制,以提高系统效率。但是,如果把“Tempdb In Ram”的值设置过
大,会导致SQL Server无法正常启动。如果遇到这类问题,您可以:
  在命令行提示下以最小资源模式启动SQL Server(如:C:MSSQLBINNSQLSERVR-f)。
  切换到Windows界面,以SA帐户通过ISQL_W连接到SQL Server,并执行下列命令。
  Sp_configure'Allow Update', 1
  Reconfigure with override
  Go
  Sp_configure'Tempdb In Ram', 0
  Go
  Sp_configure'Allow Update', 0
  Reconfigure with override
  使用Ctrl-C终止命令行中运行的SQLSERVR程序。以通常方式再次启动SQL Server。
  此时的Tempdb建立在磁盘上,大小约为2M。这时就可以通过SQL Enterprise Manager将Tempdb调整为合适的大小。
  问:在启动MSSQLSERVER或SQLEXECUTIVE时出现"错误1069,由于登录失败而无法启动服务"时怎么办?
  答:在控制面板中选取'服务'MSSQLSERVER / SQLEXECUTIVE'启动…',检查帐户名和密码是否正确。
  问:安装SQL Server时用Setup /t RegistryRebuild = On有何用途?
  答:Setup命令在使用该参数将只重写SQL Server在注册表中所使用的有关键值,而不重新安装SQL Server。

问:SQL Server启动事务有几种方式?
  答:有三种。第一种是显式声名的事务,这种事务要以BEGIN TRANSACTION为事务的起始标志。第二种是自动提交事
务,这是SQL Server的缺省设置。每一个T-SQL语句在执行完成后会被自动提交。第三种是隐含事务,在这种方式下,
SQL Server会在当前事务被提交或回滚后自动启动一个新的事务,这个新事务直到用户执行COMMIT或ROLLBACK为止,这时系
统又会启动一个新事务。这样就形成了一个连续的事务链。
  问:Cluster Index和Noncluster Index的区别是什么?
  答:Cluster Index和Noncluster Index的结构都是平衡树。它们的主要区别是Cluster Index的叶子节点是DATA PAGE
而Noncluster Index的叶子节点是数据在DATA PAGE中的指针。
  问:在SQL Server6.5,7.0中能否修改Table的名字?
  答:可以使用SP_RENAME来修改Table的名字。
  例如:
  use pubs
  create table test( a char(10))
  sp_rename test,newtest
  这个例子将新建的名为test的Table改为newtest。
  问:修改SQL Server7.0所在机器的机器名后,不能启动SQL Server,这种情况该如何处理?
  答:在这种情况下,要运行SQL Server7.0 Setup程序。Setup程序会根据新的机器名重新设置SQL Server。
  问:如果没有成功的安装SQL Server7.0,我该怎么办?
  答:如果您没有成功的安装SQLServer7.0,有几个文件可以帮助您确定是那一步出的错。首先在windows目录下的
SQLstp.log文件包含有setup过程的详细信息。查看这个文件可以确定Setup是在那一步出错的。
  如果Setup过程是在配置的部分出错,那么查看在MSSQL7Log目录下的错误日志和在MSSQL7Install目录下的
Cnfgsvr.out文件。SQLServer7.0Setup运行一个名为Cnfgsvr.exe的应用程序来配置SQLServer。这个程序启动SQLServer,
连接SQLServer并运行初始安装脚本。在这一过程中出现的任何错误都会被写入Cnfgsvr.out文件。
  如果您无法确定造成安装失败的原因,保存上述的文件并和微软产品支持部门联系,支持SQLServer的专业人员会协助
您解决问题。

使用MYSQL进行数据库备份,又很正规的数据库备份方法,同其他的数据库服务器有相同的概念,但有没有想过,MySQL会有更简捷的使用文件目录的备份方法,而且又快有好。
一、数据备份捷径
因为这个方法没有得到官方正式文档的验证,我们暂称为试验吧。
目的:备份hostA主机中一个mysql数据库TestA,并恢复到到hostB机中
试验环境:
操作系统:WinNT4.0,Mysql3.22.34,phpMyAdmin 2.1.0
在hostA中安装mysql数据库并建立TestA数据库
hostB机安装mysql数据库,没有TestA数据库
方法步骤:
启动phpMyAdmin察看HostA和HostB中的数据库列表,在HostB中没有TestA数据库
找到HostA中mysql的安装目录,并找到数据库目录data
在我的试验环境中,这个目录是
C:mysqldata
找到对应数据库名称的子目录
C:mysqldataTestA
粘贴拷贝到HostB的Data目录下,是HostA同HostB Mysql数据目录下的文件相同
刷新HostB的phpMyAdmin察看一下数据库列表,我们看到TestA已经出现,并且作查询修改等操作都正常,备份恢复恢复成功
试验结论:Mysql的数据库可以通过文件形式保存,备份,恢复只要将相应文件目录恢复即可,无需使用其它工具备份。
二、正规的方法(官方建议):
导出要用到MySQL的mysqldump工具,基本用法是:
mysqldump [OPTIONS] database [tables]
如果你不给定任何表,整个数据库将被导出。
 
通过执行mysqldump --help,你能得到你mysqldump的版本支持的选项表。
 
注意,如果你运行mysqldump没有--quick或--opt选项,mysqldump将在导出结果前装载整个结果集到内存中,如果你正在导出一个大的数据库,这将可能是一个问题。
 
mysqldump支持下列选项:
--add-locks
在每个表导出之前增加LOCK TABLES并且之后UNLOCK TABLE。(为了使得更快地插入到MySQL)。
 
--add-drop-table
在每个create语句之前增加一个drop table。
 
--allow-keywords
允许创建是关键词的列名字。这由在列名前面加表名的方法做到。
 
-c, --complete-insert
使用完整的insert语句(用列名字)。
 
-C, --compress
如果客户和服务器均支持压缩,压缩两者间所有的信息。
 
--delayed
用INSERT DELAYED命令插入行。
近日,本人为了将为公司开发的一个信息管理系统从以前试运行的开发机器上(Windows NT IIS4.0 Access)迁移至一台真正的Linux服务器上(Apache1.3.12 PHP 4.03 MySQL 3.23.26),其中数据库中的几十个表的内容迁移,开始让我小费了一些周折,从网上也下载了一些MySqL的客户软件或是数据库管理软件,写得较好的软件均有数据迁移功能,但其迁移方式不外乎两种,一种是采用文件引入方式,此种方式在处理数据库中有和分隔符相同的字符时,会产生错误,尤其是在处理ACCESS中的Memo字段,很容易出错,最后导致导出后的数据不是多了就是少了。而另一种支持ODBC直接导入的功能较强,基本可无错误地导入各个表的内容,但很遗憾,这必须是建立在ACCESS中表格的字段是英文是才可以,如在ACCESS中字段是中文名,一般也出错,不能成功导入。
为此我只好花了点时间写了两个小程序,用于将ACCESS数据库的内容向MySQL迁移,经使用,效果还不错,特在此写出奉献给各位一试或评判。
先概述一下使用方法,
1,将ACCESS的数据库建立一个"system DSN";
2,根据ACCESS数据库中各表的名称,在MySQL中建立相应的各个空表;
3,运行fdlist.php;
4,运行import.php;
5,每运行一次3,4步可迁移一个表,然后修改fdlist.php中的ACCESS源表名和MySQL中的目标表名,再运行3,4步,直至迁移所有的表,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
以下为 fdlist.php源程序
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<html>
<head>
<style type=text/css>
body,td,li,div,p,pre,a,b,h1,h2,h3,h4 {font-family:verdana;font-size:9pt;line-height : 18px;color:#a00000 }
</style>
</head>
<?
$dbconnection = @mysql_connect("yourmysqlserver", "mysqlaccount", "mysqlpassword")

or die ("can not connect to database server");

@mysql_select_db("yourdatabase")

or die("<p style='font-size:9pt;font-family:verdana;color:#803333;font-weight:bold'>No Database,</p>") ;
$odbc_table = "youroriginaltable" ; // The original table name in your ODBC database
微软SQL Server数据库服务器能够在SQL数据库里保存图片和大量的文本。图片和文本使用的数据类型分别是image图片类型和text文本类型。假如使用VB或VC开发前端应用程序,在windows操作系统上运行,那么可以容易地从SQL数据库里提取图片数据,把它放入一个文件,并在屏幕上显示出来。但是,要是想从SQL Server得到图片,并在Web浏览器里显示,就不那么容易了。虽然在微软SQL Server 6.5里提供了Web助理和存储过程 sp_makewebtask、sp_runwebtask,它们能够把SQL数据库里的数据转化成HTML文件,但是我们有更好的解决办法。使用Web助理的一个问题是,它不接受图片数据类型的字段。另一方面,存储过程 sp_makewebtask 的参数太多,很难使用,而且也很难对Web页面进行自定义。
 
我们在这里提供了一个解决方案,把图片从SQL数据装载到Web浏览器,这个方案要比sp_makewebtask好。我们用一个ActiveX 动态链接库和ASP页面开发了一个Web项目。动态链接库负责打开到保存图片的SQL数据库的连接,从数据库提取图片并把它们保存在临时文件里。ASP和动态链接库进行通信,取得临时图片文件的位置。这样,当访问者点击Web站点时,图片就会下载到他的浏览器。在这篇文章里,我们要介绍设置SQL数据库的步骤。然后,我们还要介绍如何利用VB5和活动数据对象ADO 1.5建立ActiveX动态链接库。最后,我们还要讨论建立ASP Web项目、连接到SQL数据库以及编写ASP文件的处理过程。
 

[!--infotagslink--]

相关文章

  • PHP传值到不同页面的三种常见方式及php和html之间传值问题

    在项目开发中经常见到不同页面之间传值在web工作中,本篇文章给大家列出了三种常见的方式。接触PHP也有几个月了,本文总结一下这段日子中,在编程过程里常用的3种不同页面传值方法,希望可以给大家参考。有什么意见也希望大...2015-11-24
  • js修改input的type属性问题探讨

    js修改input的type属性有些限制。当input元素还未插入文档流之前,是可以修改它的值的,在ie和ff下都没问题。但如果input已经存在于页面,其type属性在ie下就成了只读属性了,不可以修改。...2013-10-19
  • Mysql常见问题集锦

    1,utf8_bin跟utf8_general_ci的区别 ci是 case insensitive, 即 "大小写不敏感", a 和 A 会在字符判断中会被当做一样的; bin 是二进制, a 和 A 会别区别对待. 例如你运行: SELECT * FROM table WHERE txt = 'a'...2013-10-04
  • Mysql大小写敏感的问题

    一、1 CREATE TABLE NAME(name VARCHAR(10)); 对这个表,缺省情况下,下面两个查询的结果是一样的:复制代码 代码如下: SELECT * FROM TABLE NAME WHERE name='clip'; SELECT * FROM TABLE NAME WH...2015-03-15
  • linux mint 下mysql中文支持问题

    一.mysql默认不支持中文,它的server和db默认是latin1编码.所以我们要将其改变为utf-8编码,因为utf-8包含了地球上大部分语言的二进制编码 1.关闭mysql服务 sudo /etc/init.d/mysql stop 2.修改mysql配置文件 mysql配...2015-10-21
  • SQL Server中row_number函数的常见用法示例详解

    这篇文章主要给大家介绍了关于SQL Server中row_number函数的常见用法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • SQL Server中执行动态SQL

    本文详细讲解了SQLServer中执行动态SQL的方法,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2022-05-19
  • C#查询SqlServer数据库并返回单个值的方法

    这篇文章主要介绍了C#查询SqlServer数据库并返回单个值的方法,涉及C#操作SQLServer数据库查询的相关技巧,需要的朋友可以参考下...2020-06-25
  • SQL Server免费版的安装以及使用SQL Server Management Studio(SSMS)连接数据库的图文方法

    这篇文章主要介绍了SQL Server免费版的安装以及使用SQL Server Management Studio(SSMS)连接数据库的图文方法,需要的朋友可以参考下...2020-07-11
  • C#实现Excel表数据导入Sql Server数据库中的方法

    这篇文章主要介绍了C#实现Excel表数据导入Sql Server数据库中的方法,结合实例形式详细分析了C#读取Excel表数据及导入Sql Server数据库的具体操作步骤与相关操作技巧,需要的朋友可以参考下...2020-06-25
  • C#连接到sql server2008数据库的实例代码

    这篇文章主要介绍了C#连接到sql server2008数据库的实例代码,需要的朋友可以参考下...2020-06-25
  • SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 WIN-8IVSNAQS8T7\Administrator 的信息

    SQLServer 错误: 15404,无法获取有关 Windows NT 组/用户 'WIN-8IVSNAQS8T7\Administrator' 的信息,错误代码 0x534。 [SQLSTATE 42000] (ConnIsLoginSysAdmin)...2021-07-15
  • JS跨浏览器解析XML应用过程详解

    这篇文章主要介绍了JS跨浏览器解析XML应用过程详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下...2020-10-16
  • C#编程实现连接SQL SERVER数据库实例详解

    这篇文章主要介绍了C#编程实现连接SQL SERVER数据库的方法,以实例形式较为详细的分析了C#连接SQL SERVER数据库的相关步骤与具体实现技巧,需要的朋友可以参考下...2020-06-25
  • C#使用队列(Queue)解决简单的并发问题

    这篇文章主要介绍了使用队列(Queue)解决简单的并发问题,讲解的很细致,喜欢的朋友们可以了解一下...2020-06-25
  • SQL SERVER迁移之更换磁盘文件夹的完整步骤

    这篇文章主要给大家介绍了关于SQL SERVER迁移之更换磁盘文件夹的完整步骤,文中通过图文介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2020-12-08
  • CentOS8安装SQLServer2019的过程

    这篇文章主要介绍了CentOS8安装SQLServer2019的步骤,本文通过命令实例相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下...2020-07-11
  • SqlServer 数据库 三大  范式

    本文将基于三大范式原则,结合具体的实例做简要分析,对SqlServer 数据库 三大 范式相关知识感兴趣的朋友一起看看吧...2020-07-11
  • Ubuntu Server 18.04.5 LTS服务器版安装配置图解教程

    Ubuntu分为桌面版(desktop)和服务器版(Server),下面为大家介绍服务器版本Ubuntu Server 18.04.5 LTS的详细安装过程,需要的朋友可以参考下...2021-02-01
  • windows 10 安装和使用中5个常见问题

    2015年7月29日0点起,Windows 10推送全面开启,Windows7、Windows8.1用户可以免费升级到Windows 10,用户也可以通过系统升级到Windows10,在这过程中,用户会遇到这样那样的问题,下面小编总结了windows 10 安装和使用中5个常见问题,需要的朋友可以参考下...2016-01-27