mysql问题

mysql问题,第1张

输入show databases;

你少了个s,还少了个分号

给你点资料:

MySQL命令行~ZZ~

2009年04月11日 星期六 20:58

第一招、mysql服务的启动和停止

net stop mysql

net start mysql

第二招、登陆mysql

语法如下: mysql -u用户名 -p用户密码

键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是:

mysql>

注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP

第三招、增加新用户

格式:grant 权限 on 数据 to 用户名@登录主机 identified by "密码"

如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令:

grant select,insert,update,delete on to user1@localhost Identified by "password1";

如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。

如果你不想user1有密码,可以再打一个命令将密码去掉。

grant select,insert,update,delete on mydb to user1@localhost identified by "";

第四招: *** 作数据库

登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。

1、 显示数据库列表。

show databases;

缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行 *** 作。

2、 显示库中的数据表:

use mysql;

show tables;

3、 显示数据表的结构:

describe 表名;

4、 建库与删库:

create database 库名;

drop database 库名;

5、 建表:

use 库名;

create table 表名(字段列表);

drop table 表名;

6、 清空表中记录:

delete from 表名;

7、 显示表中的记录:

select from 表名;

第五招、导出和导入数据

1 导出数据:

mysqldump --opt test > mysqltest

即将数据库test数据库导出到mysqltest文件,后者是一个文本文件

如:mysqldump -u root -p123456 --databases dbname > mysqldbname

就是把数据库dbname导出到文件mysqldbname中。

2 导入数据:

mysqlimport -u root -p123456 < mysqldbname。

不用解释了吧。

3 将文本数据导入数据库:

文本数据的字段数据之间用tab键隔开。

use test;

load data local infile "文件名" into table 表名;

1:使用SHOW语句找出在服务器上当前存在什么数据库:

mysql> SHOW DATABASES;

2:2、创建一个数据库MYSQLDATA

mysql> CREATE DATABASE MYSQLDATA;

3:选择你所创建的数据库

mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明 *** 作成功!)

4:查看现在的数据库中存在什么表

mysql> SHOW TABLES;

5:创建一个数据库表

mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

6:显示表的结构:

mysql> DESCRIBE MYTABLE;

7:往表中加入记录

mysql> insert into MYTABLE values ("hyq","M");

8:用文本方式将数据装入数据库表中(例如D:/mysqltxt)

mysql> LOAD DATA LOCAL INFILE "D:/mysqltxt" INTO TABLE MYTABLE;

9:导入sql文件命令(例如D:/mysqlsql)

mysql>use database;

mysql>source d:/mysqlsql;

10:删除表

mysql>drop TABLE MYTABLE;

11:清空表

mysql>delete from MYTABLE;

12:更新表中数据

mysql>update MYTABLE set sex="f" where name='hyq'; posted on 2006-01-10 16:21 happytian 阅读(6) 评论(0) 编辑 收藏 收藏至365Key13:备份数据库mysqldump -u root 库名>xxxdata14:例2:连接到远程主机上的MYSQL

假设远程主机的IP为:110110110110,用户名为root,密码为abcd123。则键入以下命令:

mysql -h110110110110 -uroot -pabcd123

(注:u与root可以不用加空格,其它也一样)

3、退出MYSQL命令: exit

基础介绍:

1在linux下使用下列命令,请确认mysql的bin目录是否已经加入到PATH路径中,或者是已经进入到mysql安装路径下的bin目录

查看PATH

shell> echo $PATH

或者

shell> cd /usr/local/mysql/bin

2windows下,请运行cmd后,同样检查mysql的bin目录是否已加入到系统的PATH路径中,或直接进入mysql的安装目录

下面所有 *** 作都是确认你以检查mysql的bin目录已加入到系统的PATH路径中,或已经进入mysql的安装目录的bin目录下

1]如何创建mysqld数据库的管理用户?

数据库安装好后,我们应该为mysql数据库创建一个管理帐号。要把root用户设置为管理员,我们应该运行下面的命令;

shell> mysqladmin -u root password 123456

通过上面的命令,我们可以知道,mysql数据库的管理员是root,密码是123456。

2]如何进入mysql数据库?以mysql数据库管理员root,密码为123456为例;

shell> mysql -uroot -p123456

输出上面的命令后,出现的是如下的提示;

Welcome to the MySQL monitor Commands end with ; or /g

Your MySQL connection id is 6 to server version: 32358

Type 'help;' or '/h' for help Type '/c' to clear the buffer

mysql>

注意: *** 作这些命令的时候,应该把mysqld服务器打开。这些新手兄弟早就知道了吧:)

3]如何在数据库中 *** 作命令呢,我想这是mysql手册都有的,我主要说几个要注意的地方。其实我也会不了几个命令。如果自己想学的弟兄,也不是什么难事;在windows中 *** 作过mysql的,其实在这里也是一样的,mysql是跨平台的数据库,用法都是相同的。

在mysql数据库中,每 *** 作一个命令,都是;号结尾的,可能有的新手弟兄,忘记输入了;号结尾,结果退不出来。:):)

1]查看mysql中都有哪些数据库?

代码:

mysql>

show databases;

+----------+

| Database |

+----------+

| mysql |

| test |

+----------+

2 rows in set (000 sec) mysql>

在mysql安装好,设置好管理员后,第一次进入系统,我们用show databases;命令查看数据库的列表,发现有两个数据库,mysql和test,这是系统自建的,是让大家练习用的。

4]如何创建和删除一个数据库?

比如我要创建一个名为linux的数据库,应该运行如下命令

mysql> create database [数据库名];

所以我们应该运行如下的命令,来创建名为linux的数据库

mysql> create database linux;

Query OK, 1 row affected (000 sec)

是不是建好了呢??肯定是建好了,因为都有OK了:)

查看是不是有linux这个数据库了呢?

代码:

mysql> show databases;

+----------+

| Database |

+----------+

| linux |

| mysql |

| test |

+----------+

3 rows in set (000 sec)

那我们如何删除一个数据库呢??

mysql> drop database [数据库名];

比如我们要把刚才创建的linux数据库删除,应该用下面的命令;

mysql> drop database linux;

Query OK, 0 rows affected (000 sec)

是不是已经删除了呢??

代码:

mysql> show databases;

+----------+

| Database |

+----------+

| mysql |

| test |

+----------+

2 rows in set (000 sec)

5]如何 *** 作一个数据库呢,这个问题就比较多了,建议还是看一下mysql的手册吧。里面的东西太多了。如果 *** 作一个数据库,首先是要指定一个数据库为当前数据库,应该用use命令

mysql>use [数据库];

比如我想指定linux这个数据库为当前数据库,应该是

mysql> use linux;

Database changed

6]如何备份数据库??

比如我们要备份mysql中已经存在的名为linux的数据库,要用到命令mysqldump

命令格式如下:

shell> mysqldump -uroot -p linux > /root/linuxsql

Enter password:在这里输入数据库的密码

通过上面的命令,我们要明白两件事,首先备份数据库是要以数据库管理员的身份备份;其次:备份目的地是/root,备份的文件名是linuxsql。其实备份的位置和文件名,根据自己的情况来定。文件名可以自己来取,路径也可以自己来安排;

比如我想把linux的数据库备份到/home/beinan,数据库的文件名为linuxsir031130sql,所以应该输入如下的命令。

shell> mysqldump -uroot -p linux > /home/beinan/linuxsir031130sql

Enter password:在这里输入数据库管理员root的数据库密码

这样我们到/home/beinan目录下就能发现mysql中名为linux的数据库的备份文件linuxsir031130sql

综上所述,我们学习时要学会变通。:):)

5]如何把把备份的数据库导入到数据库中?

首先我们还是要 *** 作上面几个过程,比如添加数据库管理员(如果您没有添加过mysql数据库管理员的话),创建数据库等。

比如我们要把在/home/beinan这个目录中的linuxsir031130sql这个备份,导入名为linux的数据库中,应该如下 *** 作;

shell> mysql -uroot -p linux < /home/beinan/linuxsir031130sql

Enter password:在这里输入密码

如果机器好,数据库比较小,几分钟就好了。

6]其它一些比较常用的mysql指令;

查看状态

mysql> show status;

查看进程

代码:

mysql> show processlist;

+----+------+-----------+------+---------+------+-------+------------------+| Id | User | Host | db | Command | Time | State | Info |

+----+------+-----------+------+---------+------+-------+------------------+| 16 | root | localhost | NULL | Query | 0 | NULL | show processlist |

+----+------+-----------+------+---------+------+-------+------------------+

1 row in set (000 sec)

查看表,应该先指定一个数据库为当前数据库;比如是名为linux的数据库;

mysql>use linux;

mysql> show tables;

Empty set (000 sec)

7]对mysql数据库常用命令的一点补充;

几个常用的mysql相关的管理命令

mysql 命令:基本文本的,显示和使用的mysql数据库。前面已经简单的提过用法;比如登录等。

mysqladmin 命令,用来创建和维护mysql数据库的命令,前面已经简单的提过;

isamchk 是用来修复、检查和优化ism后缀的数据库文件;

mysqldump 是用于备份数据库,前面已经简单的说明过;

myisamchk 用来修复myi后缀的数据库文件;

比如我们要检查名为linux的数据库myi数据库表是否存在问题,应该用下面的命令;

要把mysqld服务器停下来

shell> /share/mysqlserver stop

然后执行

shell> myisamchk /var/linux/MYI

上面的命令的意思就是检查所有的myi文件,数据库的目录在/var/linux/目录中

如果有问题,应该用-r参数来修复

shell> myisamchk -r /var/linux/MYI

6]mysqlshow 命令:显示用户选择的数据库和表

shell> mysqlshow -uroot -p [数据库名]

比如我要查看名为linux的数据库;应该是:

shell> mysqlshow -uroot -p linux

好了,到这里,你可能已经知道命令行下的所有基本 *** 作了~

ps:补充一个。。

更改ROOT帐号名。

update set user="新名字" where user="旧名字";

数据控制SQL语句(DCL)是一类可对用户数据访问权进行控制的 *** 作语句,可以控制特定用户或角色对数据表、视图、存储过程、触发器等数据对象的访问权限。

GRANT语句是一种由数据库对象床架这或管理员执行的授权语句,可以把访问数据库对象权限授予其他用户或角色。

REVOKE语句是一种由数据库对象创建者或管理员将赋予其他用户或角色的权限进行收回语句。

DENY语句用于拒绝给当前数据库内的用户或者角色授予权限,并防止用户或角色通过其组或角色成员继承权限。

SQL改变查询编辑器的当前数据库可以用方法:use数据库名。

在程序内一般都是直接跨库访问,但首先当前数据库用户具备对别的数据有相应权限,例如:select  from AAADBdboAAA,以上语句是不管在当前在哪个数据库下,都可以直接查询AAADB数据库下的AAA表,其中dbo是架构名。

功能

SQL具有数据定义、数据 *** 纵、和数据控制的功能。

1、SQL数据定义功能:能够定义数据库的三级模式结构,即外模式、全局模式和内模式结构。在SQL中,外模式又叫做视图(View),全局模式简称模式(Schema),内模式由系统根据数据库模式自动实现,一般无需用户过问。

2、SQL数据 *** 纵功能:包括对基本表和视图的数据插入、删除和修改,特别是具有很强的数据查询功能。

3、SQL的数据控制功能:主要是对用户的访问权限加以控制,以保证系统的安全性。

Mysql常用命令行大全 机 第一招、mysql服务的启动和停止 net stop mysql net start mysql 第二招、登陆mysql 语法如下: mysql -u用户名 -p用户密码 键入命令mysql -uroot -p, 回车后提示你输入密码,输入12345,然后回车即可进入到mysql中了,mysql的提示符是: mysql> 注意,如果是连接到另外的机器上,则需要加入一个参数-h机器IP 第三招、增加新用户 格式:grant 权限 on 数据库 to 用户名@登录主机 identified by "密码" 如,增加一个用户user1密码为password1,让其可以在本机上登录, 并对所有数据库有查询、插入、修改、删除的权限。首先用以root用户连入mysql,然后键入以下命令: grant select,insert,update,delete on to user1@localhost Identified by "password1"; 如果希望该用户能够在任何机器上登陆mysql,则将localhost改为"%"。 如果你不想user1有密码,可以再打一个命令将密码去掉。 grant select,insert,update,delete on mydb to user1@localhost identified by ""; 第四招: *** 作数据库 登录到mysql中,然后在mysql的提示符下运行下列命令,每个命令以分号结束。 1、 显示数据库列表。 show databases; 缺省有两个数据库:mysql和test。 mysql库存放着mysql的系统和用户权限信息,我们改密码和新增用户,实际上就是对这个库进行 *** 作。 2、 显示库中的数据表: use mysql; show tables; 3、 显示数据表的结构: describe 表名; 4、 建库与删库: create database 库名; drop database 库名; 5、 建表: use 库名; create table 表名(字段列表); drop table 表名; 6、 清空表中记录: delete from 表名; 7、 显示表中的记录: select from 表名; 第五招、导出和导入数据 1 导出数据: mysqldump --opt test > mysqltest 即将数据库test数据库导出到mysqltest文件,后者是一个文本文件 如:mysqldump -u root -p123456 --databases dbname > mysqldbname 就是把数据库dbname导出到文件mysqldbname中。 2 导入数据: mysqlimport -u root -p123456 < mysqldbname。 不用解释了吧。 3 将文本数据导入数据库: 文本数据的字段数据之间用tab键隔开。 use test; load data local infile "文件名" into table 表名; 1:使用SHOW语句找出在服务器上当前存在什么数据库: mysql> SHOW DATABASES; 2:2、创建一个数据库MYSQLDATA mysql> CREATE DATABASE MYSQLDATA; 3:选择你所创建的数据库 mysql> USE MYSQLDATA; (按回车键出现Database changed 时说明 *** 作成功!) 4:查看现在的数据库中存在什么表 mysql> SHOW TABLES; 5:创建一个数据库表 mysql> CREATE TABLE MYTABLE (name VARCHAR(20), sex CHAR(1)); 6:显示表的结构: mysql> DESCRIBE MYTABLE; 7:往表中加入记录 mysql> insert into MYTABLE values ("hyq","M"); 8:用文本方式将数据装入数据库表中(例如D:/mysqltxt) mysql> LOAD DATA LOCAL INFILE "D:/mysqltxt" INTO TABLE MYTABLE; 9:导入sql文件命令(例如D:/mysqlsql) mysql>use database; mysql>source d:/mysqlsql; 10:删除表 mysql>drop TABLE MYTABLE; 11:清空表 mysql>delete from MYTABLE; 12:更新表中数据 mysql>update MYTABLE set sex="f" where name='hyq'; posted on 2006-01-10 16:21 happytian 阅读(6) 评论(0) 编辑 收藏 收藏至365Key 13:备份数据库 mysqldump -u root 库名>xxxdata 14:例2:连接到远程主机上的MYSQL 假设远程主机的IP为:110110110110,用户名为root,密码为abcd123。则键入以下命令: mysql -h110110110110 -uroot -pabcd123 (注:u与root可以不用加空格,其它也一样) 3、退出MYSQL命令: exit (回车)

你先了解下VFP中数据库的 *** 作:

1、创建并打开一个数据库。

CREATE DATABASE [DatabaseName | ]

参数

[ DatabaseName| ]

指定要创建或打开(创建对话框)的数据库名,可以指定一个数据库名及其保存位置。忽略这些参数也会打开创建(Create)对话框。数据库文件以扩展名 dbc 保存。注意:

如果 SET SAFETY 命令设置为 ON,且在用户指定的路径中已经存在同名的数据库,Visual FoxPro 将提示用户为数据库指定一个不同的路径或名称。

2、打开数据库。

OPEN DATABASE [FileName | ] [EXCLUSIVE | SHARED] [NOUPDATE] [VALIDATE]

参数

FileName

指定要打开的数据库名。如果没有为文件指定扩展名,则 Visual FoxPro 自动指定为 dbc 扩展名。如果省略 FileName,则显示打开对话框。可以指定路径名作为数据库名的一部分。 注意:

如果磁盘或目录名中包含叹号(!),则 Visual FoxPro 将不能识别路径名。

3、关闭各种类型的文件。

CLOSE [ALL | ALTERNATE | DATABASES [ALL] | DEBUGGER | FORMAT | INDEXES

| PROCEDURE | TABLES [ALL]]

参数

ALL

关闭当前及所有工作区中所有打开的数据库, 表, 和索引,并选择 1 号工作区。CLOSE ALL 也关闭任何使用 FCREATE( ) 和 FOPEN( ) 低级文件函数打开的文件,以及任何使用 SET PROCEDURE 打开的过程文件。CLOSE ALL 不关闭使用 SET PRINT 打开的文件。CLOSE ALL 也关闭:

表单设计器

“项目管理器”

标签设计器

报表设计器

查询设计器

CLOSE ALL 不关闭这些:

命令窗口

调试(Debug)窗口

帮助

“跟踪”窗口

CLOSE ALTERNATE

关闭使用 SET ALTERNATE 打开的替代文件。

CLOSE DATABASES [ALL]

关闭当前数据工作期中的当前数据库和表。如果没有当前数据库,所有当前数据工作期的所有工作区中打开的自由表, 索引, 和格式文件都被关闭,并选择 1 号工作区。 注意:NEW

如果数据库在“项目管理器”的节点中展开或在一个运行的表单的私有工作期中被打开,则在“命令”窗口中使用 CLOSE DATABASES 命令不能关闭此数据库。在此情况下,直至“项目管理器”关闭它或使用它的表单关闭它,否则该数据库一直是打开的。

指定 ALL 关键字,则关闭当前和所有非活动数据工作期中的以下项目,并选择 1 号工作区:

所有打开的数据库及其中的表, 除了在其他数据工作期中当前选择的数据库 或 在其他数据工作期中打开的数据库及其中的表 以外。

所有打开的自由表。

所有工作区中的全部索引及格式文件。

CLOSE DEBUGGER

关闭 Visual FoxPro 调试器。

CLOSE FORMAT

关闭使用 SET FORMAT 命令打开的当前工作区中的格式文件。

CLOSE INDEXES

关闭当前工作区中所有打开的索引文件(只有 单项索引idx 和 独立复合索引cdx 文件 二者) 。不关闭结构复合索引(与表自动同时打开的 cdx 文件)。

CLOSE PROCEDURE

关闭使用 SET PROCEDURE 打开的过程文件。

CLOSE TABLES [ALL]

关闭当前选择数据库的所有表。如果没有已打开的数据库,CLOSE TABLES 关闭所有工作区中的所有自由表。包含 ALL 将关闭所有数据库中的所有表,及所有自由表。所有数据库仍保持打开。当执行一个事务时,不应执行 CLOSE TABLES 命令;否则 Visual FoxPro 将产生一条错误信息。

您可以使用相同的方法从 SQL Server 70 或 SQL Server 2000 迁移数据。但是,Microsoft SQL

Server 2005 中的管理工具与 SQL Server 70 或 SQL Server 2000 中的管理工具有所不同。您应该使用

SQL Server Management Studio(而不是 SQL Server 企业管理器)以及 SQL Server 导入和导出向导

(DTSWizardexe)(而不是数据转换服务导入和导出数据向导)。

备份和还原

在源服务器上备份用户数据库,然后将用户数据库还原到目标服务器上。

在备份过程中时可能有人使用数据库。如果用户在备份完成后对数据库执行

INSERT、UPDATE 或 DELETE

语句,则备份中不会包含这些更改。如果您必须传输所有更改,那么,假如您既执行事务日志备份又执行完整数据库备份,您可以以尽可能短的停止时间来传输这些更改。

在目标服务器上还原完整数据库备份,并指定 WITH NORECOVERY 选项。

注意:为防止对数据库做进一步的修改,请指导用户在源服务器上退出数据库活动。

执行事务日志备份,然后使用 WITH RECOVERY 选项将事务日志备份还原到目标服务器上。停止时间仅限于事务日志备份和恢复的时间。有关更多信息,请参阅 SQL Server 联机丛书的“Transact-SQL 参考”主题中的“还原”子主题。

目标服务器上的数据库将与源服务器上的数据库大小相同。要减小数据库的大小,您必须在执行备份前压缩源数据库的大小,或者在完成还原后压缩目标数据库的大小。有关更多信息,请参阅 SQL Server 联机丛书的“创建和维护数据库”标题下的“压缩数据库”子主题。

如果您将数据库还原到的文件位置不同于源数据库的文件位置,则必须指定 WITH MOVE 选项。例如,在源服务器上,数据库位于 D:\Mssql\Data 文件夹中。目标服务器没有 D 驱动器,因而您需要将数据库还原到 C:\Mssql\Data 文件夹。

有关如何将数据库还原到其他位置的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

221465

INF:结合使用 WITH MOVE 选项和 RESTORE 语句

304692 INF:使用 BACKUP 和 RESTORE 将 SQL Server 70 数据库移到新的位置

如果您想覆盖目标服务器上的一个现有数据库,则必须指定 WITH REPLACE 选项。有关更多信息,请参阅 SQL Server 联机丛书的“Transact-SQL 参考”主题中的“还原”子主题。

源服务器和目标服务器上的字符集、排序顺序和 Unicode 整序可能必须相同,具体取决于您要还原到 SQL Server 的哪种版本。有关更多信息,请参阅本文中的“关于排序规则的说明”一节。

Sp_detach_db 和 Sp_attach_db 存储过程

要使用 sp_detach_db 和 sp_attach_db 这两个存储过程,请按下列步骤 *** 作:

使用 sp_detach_db 存储过程分离源服务器上的数据库。您必须将与数据库关联的 mdf、ndf 和 ldf 这三个文件复制到目标服务器上。参见下表中对文件类型的描述:

文件扩展名

说明

mdf 主要数据文件

ndf 辅助数据文件

ldf 事务日志文件

使用 sp_attach_db 存储过程将数据库附加到目标服务器上,并指向您在上一步骤中复制到目标服务器的文件。

有关如何使用这些方法的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

224071

如何通过使用 SQL Server 中的分离和附加功能将 SQL Server 数据库移到新位置

分离数据库后将无法访问该数据库,并且复制文件时也无法使用该数据库。在进行分离的那一时刻数据库中包含的所有数据都被移动。

在您使用附加或分离方法时,两个服务器上的字符集、排序顺序和 Unicode 整序都必须相同。有关更多信息,请参阅本文中的“关于排序规则的说明”一节。

关于排序规则的说明

如果您使用备份和还原或附加和分离方法在两个

SQL Server 70 服务器之间移动数据库,则两个服务器上的字符集、排序顺序和 Unicode 整序都必须相同。如果您将数据库从

SQL Server 70 移到 SQL Server 2000,或者在不同的 SQL Server 2000

服务器之间移动数据库,则数据库将保留源数据库的整序。这意味着,如果运行 SQL Server 2000

的目标服务器的整序与源数据库的整序不同,则目标数据库的整序也将与目标服务器的 master、model、tempdb 和 msdb 数据库的整序不同。有关更多信息,请参见 SQL Server 2000 联机丛书中的“混合整序环境”主题。

导入和导出数据(在 SQL Server 数据库之间复制对象和数据)

您可以使用数据转换服务导入和导出数据向导来复制整个数据库或有选择地将源数据库中的对象和数据复制到目标数据库。

在传输过程中,可能有人在使用源数据库。如果在传输过程中有人在使用源数据库,您可能会看到传输过程中出现一些阻滞现象。

在您使用导入和导出数据向导时,源服务器与目标服务器的字符集、排序顺序和整序不必相同。

因为源数据库中未使用的空间不会移动,所以目标数据库不必与源数据库一样大。同样,如果您只移动某些对象,则目标数据库也不必与源数据库一样大。

SQL Server 70 数据转换服务可能无法正确地传输大于 64 KB 的文本和图像数据。但 SQL Server 2000 版本的数据转换服务不存在此问题。

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

257425

FIX:DTS 对象传输不能传输大于 64 KB 的 BLOB 数据

第 2 步:如何传输登录和密码

如果您不将源服务器中的登录传输到目标服务器,当前的 SQL Server 用户就无法登录到目标服务器。您可以按照下面的 Microsoft 知识库文章中的说明来传输登录和密码:

246133 如何在 SQL Server 实例之间传输登录和密码

目标服务器上的登录的默认数据库可能与源服务器上的登录的默认数据库不同。您可以使用 sp_defaultdb 存储过程来更改登录的默认数据库。有关更多信息,请参见 SQL Server 联机丛书中的“Transact-SQL 参考”主题的“sp_defaultdb”子主题。

第 3 步:如何解决孤立用户

在您向目标服务器传输登录和密码后,用户可能还无法访问数据库。登录与用户是靠安全识别符 (SID) 关联在一起的;在您移动数据库后,如果 SID

不一致,SQL Server 可能会拒绝用户访问数据库。此问题称为孤立用户。如果您使用 SQL Server 2000 DTS

传输登录功能来传输登录和密码,就可能会产生孤立用户。此外,被允许访问与源服务器处于不同域中的目标服务器的集成登录帐户,也会导致出现孤立用户。

查找孤立用户。在目标服务器上打开查询分析器,然后在您移动的用户数据库中运行以下代码:

exec sp_change_users_login 'Report'

此过程将列出任何未链接到一个登录帐户的孤立用户。如果没有列出用户,请跳过第 2 步和第 3 步,直接进行第 4 步。

解决孤立用户问题。如果一个用户是孤立用户,数据库用户可以成功登录到服务器,但却无权访问数据库。如果您尝试向数据库授予登录访问权,则会因该用户已经存在而出现下列错误消息:

Microsoft SQL-DMO (ODBC SQLState:42000) 错误 15023:当前数据库中已存在用户或角色 '%s'。

有关如何解决孤立用户的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

240872

如何解决在运行 SQL Server 的服务器之间移动数据库时的权限问题

此文章介绍如何将登录映射到数据库用户,以及如何解决标准的 SQL Server 登录和集成登录产生的孤立用户。

274188 PRB:联机丛书中的“孤立用户疑难解答”主题不完整

上面的文章介绍了如何使用 sp_change_users_login 存储过程来逐个纠正孤立用户。sp_change_users_login 存储过程仅能解决标准的 SQL Server 登录帐户的孤立用户问题。

如果数据库所有者 (dbo) 被当作孤立用户列出,请在用户数据库中运行下面的代码:

exec sp_changedbowner 'sa'

此存储过程会将数据库所有者更改为 dbo 并解决这个问题。要将数据库所有者更改为另一用户,请使用您想使用的用户再次运行 sp_changedbowner。有关更多信息,请参见 SQL Server 联机丛书的“Transact-SQL 参考”主题中的“sp_changedbowner”子主题。

如果您的目标服务器运行的是 SQL Server 2000 Service Pack 1,则在您执行附加 *** 作或还原 *** 作(或两种 *** 作都执行)后,企业管理器的用户文件夹中的列表中可能没有数据库所有者用户。

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

305711

BUG:在企业管理器中没有显示 DBO 用户

如果目标服务器上不存在映射到源服务器上的 dbo 的登录,您在尝试通过企业管理器更改系统管理员 (sa) 密码时,可能会收到以下错误消息:

错误 21776:[SQL-DMO] 名称 'dbo' 在 Users 集合中没有找到。如果该名称是合法名称,则使用 [] 来分隔名称的不同部分,然后重试。

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

218172

PRB:在企业管理器中不能更改 SA 密码

警告:如果您再次还原或附加数据库,则数据库用户可能会再次被孤立,这样您就必须重复第 3 步 *** 作。

第 4 步:如何移动作业、警报和运算符

第 4 步是可选 *** 作。您可以为源服务器上的所有作业、警报和运算符生成脚本,然后在目标服务器上运行脚本。

要移动作业、警报和运算符,请按照下列步骤 *** 作: 您可以用右键单击选择为所有警报、所有作业或所有运算符生成脚本。

打开 SQL Server 企业管理器,然后展开管理文件夹。

展开 SQL Server 代理,然后右键单击警报、作业或运算符。

单击所有任务,然后单击生成 SQL 脚本。对于 SQL Server 70,请单击为所有作业生成脚本、警报或运算符。

您可以将作业、警报和运算符从 SQL Server 70 移到 SQL Server 2000,也可以在运行 SQL Server 70 和运行 SQL Server 2000 计算机之间移动。

如果在源服务器上为运算符设置了 SQLMail 通知,则目标服务器上也必须设置 SQLMail,才能具有相同的功能。

有关更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:

263556

INF:如何配置 SQL Mail

第 5 步:如何移动 DTS 包

第 5 步是可选 *** 作。如果 DTS 包在源服务器上存储在 SQL Server 中或存储库中,您可以在需要时移动这些包。要在服务器之间移动 DTS 包,请使用下列方法之一。

方法 1

在源服务器上将 DTS 包保存到一个文件中,然后在目标服务器上打开 DTS 包文件。

将目标服务器上的包保存到 SQL Server 或存储库中。

注意:您必须用单独的文件逐个地移动这些包。

方法 2

在 DTS 设计器中打开每个 DTS 包。

在包菜单上,单击另存为。

指定目标 SQL Server。

注意:在新服务器上,包可能无法正常运行。您可能必须对包进行更改,更改包中任

以上就是关于mysql问题全部的内容,包括:mysql问题、sql数据控制功能语句、SQL改变查询编辑器的当前数据库可以用哪些方法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10130392.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-05
下一篇 2023-05-05

发表评论

登录后才能评论

评论列表(0条)

保存