Table des matières
引言
读者对象
概述
迁移过程
迁移准备
数据类型、保留字和运算符
支持的 SQL Server 数据类型
比较 MySQL 与 SQL Server 2000
数字类型
日期和时间类型
字符串类型
Microsoft SQL Server 2000 保留字
Maison php教程 php手册 将MySQL迁移到Microsoft SQL Server 2000 (一)

将MySQL迁移到Microsoft SQL Server 2000 (一)

Jun 21, 2016 am 09:09 AM
microsoft mysql server sql

mysql|server

将MySQL迁移到Microsoft SQL Server 2000
摘要
本白皮书描述了 Microsoft SQL Server 2000 的迁移能力,并提供了帮助开发人员将 MySQL 数据库迁移到 SQL Server 2000 的特定信息。

引言


本指南解释如何利用几个内置的 SQL Server 工具和实用程序将 MySQL 迁移到 Microsoft? SQL Server? 2000。它还提供了如何修改 MySQL 应用程序,使之与 SQL Server 2000 一起工作的指南。如果您购买了 MySQL 应用程序,您可以继续让这项投资发挥效用,同时又为应用程序结构提供了 SQL Server 2000 的高级功能。

读者对象


本白皮书的读者对象可以是刚接触 SQL Server 及其操作的人,但应非常熟悉 MySQL DBMS 和普通数据库的概念。目标读者必须具备:
  • 一般的数据库管理知识。
  • 足够的 MySQL DBMS 基础知识背景。
  • 熟悉 MySQL 语言。
  • 具有 sysadmin 固定服务器角色的成员资格。sysadmin 角色对该服务器有全权控制。要想了解登录 SQL Server 的更多信息,请参见 SQL Server 2000 联机图书的“登录”一节。

为了让说明清楚易懂,使用的基准开发和应用程序平台是 Microsoft Windows? 2000 操作系统 和 SQL Server 2000。MySQL ODBC 驱动程序与 MySQL 一起使用,MySQL 平台是使用 MySQL 3.23.37 的 Red Hat Linux 7.1。

概述


MySQL 是一个开放源代码的数据库管理系统 (DBMS)。它采用客户端/服务器结构,是一个多线程、多用户的数据库服务器。MySQL 是为高速应用设计的,因此,它并不提供关系数据库系统提供的许多功能,比如子查询、外键、引用完整性、存储过程、触发器和视图。此外,它有一个锁定机制,这对同时有不同用户进行许多写操作的数据表来说是不够的。它还缺少对软件应用程序和工具的支持。
SQL Server 2000 是一个完整的关系数据库管理系统 (RDBMS),它还包括用于 OLAP 和数据挖掘的集成分析功能。SQL Server 2000 满足最大的数据处理系统和商业 Web 站点对数据及分析的存储要求,同时可以为个人和小企业提供易用的数据存储服务。
Microsoft SQL Server 的结构支持高级的服务器功能,比如行一级的锁定、高级查询优化、数据复制、分布式数据库管理以及分析服务。Transact-SQL (T-SQL) 是 SQL Server 2000 支持的 SQL 语言。
本章中提到的结构特点只是 SQL Server 2000 提供的众多特点的一部分。SQL Server 2000 联机图书是安装应用程序时可以利用的一个有用资源。要使用联机图书,请打开 Microsoft SQL Server 程序组并单击“联机图书”。

迁移过程


本章通过列出 MySQL 和 Microsoft SQL Server 2000 的结构来介绍迁移过程。本章包括以下内容:
  • 迁移准备
  • 数据类型、保留字和运算符
  • MySQL 的数据迁移工具
  • Microsoft SQL Server 的数据迁移工具
  • 直接迁移:数据转换服务 (DTS)
  • 使用数据加载能力:查询分析程序
  • 扩展应用程序
  • 故障排除

迁移准备


正确的迁移规划对确保最终成功极其重要。开始迁移前,请查看待迁移 MySQL 数据库的架构。比较 MySQL 和 SQL Server 2000 的数据类型,了解二者的区别。本白皮书的“比较 MySQL 与 Microsoft SQL Server”一节提供了可比数据类型的框架。注意某些 MySQL 数据库对象可能会与 SQL Server 2000 的保留字冲突。下一节中有这些保留字。使用 DTS 迁移到 SQL Server 2000 之前应该先备份并复制 MySQL 数据库文件。

数据类型、保留字和运算符


本节介绍 SQL Server 2000 中使用的数据类型。为了顺利迁移,这里提供了一张 MySQL 和 SQL Server 2000 的数据类型对照表。同时还提供了 Microsoft SQL Server 中使用的保留字列表。它包括以下信息:
  • 支持的 SQL Server 数据类型
  • 比较 MySQL 与 SQL Server 2000
  • SQL Server 保留字

支持的 SQL Server 数据类型

数据类型
说明
BIGINT
从 -2^63 (-9223372036854775808) 到 2^63-1 (9223372036854775807) 的整型数据(整数)。
INT
从 -2^31 (-2,147,483,648) 到 2^31-1 (2,147,483,647) 的整型数据(整数)。
SMALLINT
从 2^15 (-32,768) 到 2^15 - 1 (32,767) 的整型数据。
TINYINT
从 0 到 255 的整型数据。
BIT
非 1 即 0 的整型数据。
DECIMAL
从 -10^38 +1 到 10^38 -1 的固定精度和标度的数字数据。
NUMERIC
功能上相当于十进制数。
MONEY
从 -2^63 (-922,337,203,685,477.5808) 到 2^63 - 1 (+922,337,203,685,477.5807) 的货币型数据,精确到货币单位的万分之一。
SMALLMONEY
从 -214,748.3648 到 +214,748.3647 的货币型数据,精确到货币单位的万分之一。
FLOAT
从 -1.79E + 308 到 1.79E + 308 的浮点精度数字数据。
REAL
从 -3.40E + 38 到 3.40E + 38 的浮点精度数字数据。
DATETIME
从 1753 年 1 月 1 日到 9999 年 12 月 31 日的日期和时间数据,精确到三百分之一秒(3.33 毫秒)。
SMALLDATETIME
从 1900 年 1 月 1 日到 2079 年 6 月 6 日的日期和时间数据,精确到一分钟。
CHAR
最大长度 8000 个字符的固定长度非 Unicode 字符数据。
VARCHAR
最大长度 8000 个字符的可变长度非 Unicode 字符数据。
TEXT
最大长度 2^31 - 1 (2,147,483,647) 个字符的可变长度非 Unicode 数据。
NCHAR
最大长度 4,000 个字符的固定长度 Unicode 数据。
NVARCHAR
最大长度 4000 个字符的可变长度 Unicode 数据。sysname 是系统提供的用户定义数据类型,功能上相当于 nvarchar(128),用于引用数据库对象名称。
NTEXT
最大长度 2^31 - 1 (1,073,741,823) 个字符的可变长度 Unicode 数据。
BINARY
最大长度 8,000 个字节的固定长度二进制数据。
VARBINARY
最大长度 8,000 个字节的可变长度二进制数据。
IMAGE
最大长度 2^31 - 1 (2,147,483,647) 字节的可变长度二进制数据。
CURSOR
对光标的引用。
SQL_VARIANT
存储 SQL Server 支持的数据类型(textntexttimestampsql_variant 除外)值的数据类型。
TABLE
用于存储结果集合供以后处理的特殊数据类型。
TIMESTAMP
整个数据库中都唯一的一个数字,随着行的每次更新而更新。
UNIQUEIDENTIFIER
全局唯一标识符 (GUID)。

详细信息请参见 SQL Server 2000 联机图书的“数据类型”主题。

比较 MySQL 与 SQL Server 2000


下表显示了 MySQL 和 SQL Server 2000 的数据类型映射关系。对于某些 MySQL 数据类型,SQL Server 中有不止一种对应的数据类型。此表包括以下信息:
  • 数字类型
  • 数据和时间类型
  • 字符串类型

注意
D:用于浮点型,表示小数点后面的位数。最大值可以是 30,但至少应大于 M-2。
L:列值的实际长度
M:表示最大显示尺寸。最大有效显示尺寸是 255。

数字类型

MySQL
大小
SQL Server 2000
TINYINT
1 字节
TINYINT
SMALLINT
2 字节
SMALLINT
MEDIUMINT
3 字节

INT
4 字节
INT
INTEGER
4 字节
INT
BIGINT
8 字节
BIGINT
FLOAT(X4 字节
FLOAT(0)
FLOAT(258 字节
FLOAT(25)
DOUBLE
8 字节
FLOAT(25)
DOUBLE PRECISION
8 字节
FLOAT (53)
REAL
8 字节
REAL
DECIMAL
M 字节(D+2,如果 MDECIMAL
NUMERIC
M 字节(D+2,如果 MNUMERIC

日期和时间类型

MySQL
大小
SQL Server 2000
DATE
3 字节
SMALLDATETIME
DATETIME
8 字节
DATETIME
TIMESTAMP
4 字节
TIMESTAMP
TIME
3 字节
SMALLDATETIME
YEAR
1 字节
SMALLDATETIME

字符串类型

MySQL
大小
SQL Server 2000
CHAR(m)
M 字节,1CHAR
VARCHAR(m)
L+1 字节,LVARCHAR
TINYBLOB
L + 1 字节,LBINARY
BLOB
L + 2 字节,LVARBINARY
TEXT
L + 2 字节,LTEXT
MEDIUMBLOB
L + 3 字节,LIMAGE
MEDIUMTEXT
L + 3 字节,LTEXT
LONGBLOB
L + 4 字节,LIMAGE
LONGTEXT
L + 4 字节,LTEXT
ENUM (VALUE1, VALUE2, ...)
1 或 2 字节,取决于枚举值的数量(最多 65535 个值)。
无可用数据类型,但 CHECK 约束* 提供功能。
SET (VALUE1, VALUE2, ...)
1、2、3、4 或 8 字节,取决于集合成员的最大数量


* Check 约束通过限制字段中可以接受的值,强制实现数据完整性。详细信息请参见联机图书的“CHECK 约束”主题。

Microsoft SQL Server 2000 保留字

ADD
EXCEPT
PERCENT
ALL
EXEC
PLAN
ALTER
EXECUTE
PRECISION
AND
EXISTS
PRIMARY
ANY
EXIT
PRINT
AS
FETCH
PROC
ASC
FILE
PROCEDURE
AUTHORIZATION
FILLFACTOR
PUBLIC
BACKUP
FOR
RAISERROR
BEGIN
FOREIGN
READ
BETWEEN
FREETEXT
READTEXT
BREAK
FREETEXTTABLE
RECONFIGURE
BROWSE
FROM
REFERENCES
BULK
FULL
REPLICATION
BY
FUNCTION
RESTORE
CASCADE
GOTO
RESTRICT
CASE
GRANT
RETURN
CHECK
GROUP
REVOKE
CHECKPOINT
HAVING
RIGHT
CLOSE
HOLDLOCK
ROLLBACK
CLUSTERED
IDENTITY
ROWCOUNT
COALESCE
IDENTITY_INSERT
ROWGUIDCOL
COLLATE
IDENTITYCOL
RULE
COLUMN
IF
SAVE
COMMIT
IN
SCHEMA
COMPUTE
INDEX
SELECT
CONSTRAINT
INNER
SESSION_USER
CONTAINS
INSERT
SET
CONTAINSTABLE
INTERSECT
SETUSER
CONTINUE
INTO
SHUTDOWN
CONVERT
IS
SOME
CREATE
JOIN
STATISTICS
CROSS
KEY
SYSTEM_USER
CURRENT
KILL
TABLE
CURRENT_DATE
LEFT
TEXTSIZE
CURRENT_TIME
LIKE
THEN
CURRENT_TIMESTAMP
LINENO
TO
CURRENT_USER
LOAD
TOP
CURSOR
NATIONAL
TRAN
DATABASE
NOCHECK
TRANSACTION
DBCC
NONCLUSTERED
TRIGGER
DEALLOCATE
NOT
TRUNCATE
DECLARE
NULL
TSEQUAL
DEFAULT
NULLIF
UNION
DELETE
OF
UNIQUE
DENY
OFF
UPDATE
DESC
OFFSETS
UPDATETEXT
DISK
ON
USE
DISTINCT
OPEN
USER
DISTRIBUTED
OPENDATASOURCE
VALUES
DOUBLE
OPENQUERY
VARYING
DROP
OPENROWSET
VIEW
DUMMY
OPENXML
WAITFOR
DUMP
OPTION
WHEN
ELSE
OR
WHERE
END
ORDER
WHILE
ERRLVL
OUTER
WITH
ESCAPE
OVER
WRITETEXT



Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

La relation entre l'utilisateur de MySQL et la base de données La relation entre l'utilisateur de MySQL et la base de données Apr 08, 2025 pm 07:15 PM

Dans la base de données MySQL, la relation entre l'utilisateur et la base de données est définie par les autorisations et les tables. L'utilisateur a un nom d'utilisateur et un mot de passe pour accéder à la base de données. Les autorisations sont accordées par la commande Grant, tandis que le tableau est créé par la commande Create Table. Pour établir une relation entre un utilisateur et une base de données, vous devez créer une base de données, créer un utilisateur, puis accorder des autorisations.

Intégration RDS MySQL avec Redshift Zero ETL Intégration RDS MySQL avec Redshift Zero ETL Apr 08, 2025 pm 07:06 PM

Simplification de l'intégration des données: AmazonrDSMysQL et l'intégration Zero ETL de Redshift, l'intégration des données est au cœur d'une organisation basée sur les données. Les processus traditionnels ETL (extrait, converti, charge) sont complexes et prennent du temps, en particulier lors de l'intégration de bases de données (telles que AmazonrDSMysQL) avec des entrepôts de données (tels que Redshift). Cependant, AWS fournit des solutions d'intégration ETL Zero qui ont complètement changé cette situation, fournissant une solution simplifiée et à temps proche pour la migration des données de RDSMySQL à Redshift. Cet article plongera dans l'intégration RDSMYSQL ZERO ETL avec Redshift, expliquant comment il fonctionne et les avantages qu'il apporte aux ingénieurs de données et aux développeurs.

Comment remplir le nom d'utilisateur MySQL et le mot de passe Comment remplir le nom d'utilisateur MySQL et le mot de passe Apr 08, 2025 pm 07:09 PM

Pour remplir le nom d'utilisateur et le mot de passe MySQL: 1. Déterminez le nom d'utilisateur et le mot de passe; 2. Connectez-vous à la base de données; 3. Utilisez le nom d'utilisateur et le mot de passe pour exécuter des requêtes et des commandes.

L'optimisation des requêtes dans MySQL est essentielle pour améliorer les performances de la base de données, en particulier lorsqu'elle traite avec de grands ensembles de données L'optimisation des requêtes dans MySQL est essentielle pour améliorer les performances de la base de données, en particulier lorsqu'elle traite avec de grands ensembles de données Apr 08, 2025 pm 07:12 PM

1. Utilisez l'index correct pour accélérer la récupération des données en réduisant la quantité de données numérisées SELECT * FROMMLOYEESEESHWHERELAST_NAME = 'SMITH'; Si vous recherchez plusieurs fois une colonne d'une table, créez un index pour cette colonne. If you or your app needs data from multiple columns according to the criteria, create a composite index 2. Avoid select * only those required columns, if you select all unwanted columns, this will only consume more server memory and cause the server to slow down at high load or frequency times For example, your table contains columns such as created_at and updated_at and timestamps, and then avoid selecting * because they do not require inefficient query se

MySQL: la facilité de gestion des données pour les débutants MySQL: la facilité de gestion des données pour les débutants Apr 09, 2025 am 12:07 AM

MySQL convient aux débutants car il est simple à installer, puissant et facile à gérer les données. 1. Installation et configuration simples, adaptées à une variété de systèmes d'exploitation. 2. Prise en charge des opérations de base telles que la création de bases de données et de tables, d'insertion, d'interrogation, de mise à jour et de suppression de données. 3. Fournir des fonctions avancées telles que les opérations de jointure et les sous-questionnaires. 4. Les performances peuvent être améliorées par l'indexation, l'optimisation des requêtes et le partitionnement de la table. 5. Prise en charge des mesures de sauvegarde, de récupération et de sécurité pour garantir la sécurité et la cohérence des données.

Comment voir Mysql Comment voir Mysql Apr 08, 2025 pm 07:21 PM

Affichez la base de données MySQL avec la commande suivante: Connectez-vous au serveur: MySQL -U Username -P mot de passe Exécuter les bases de données Afficher les bases de données; Commande pour obtenir toutes les bases de données existantes Sélectionnez la base de données: utilisez le nom de la base de données; Tableau de vue: afficher des tables; Afficher la structure de la table: décrire le nom du tableau; Afficher les données: sélectionnez * dans le nom du tableau;

Comment optimiser les performances MySQL pour les applications de haute charge? Comment optimiser les performances MySQL pour les applications de haute charge? Apr 08, 2025 pm 06:03 PM

Guide d'optimisation des performances de la base de données MySQL dans les applications à forte intensité de ressources, la base de données MySQL joue un rôle crucial et est responsable de la gestion des transactions massives. Cependant, à mesure que l'échelle de l'application se développe, les goulots d'étranglement des performances de la base de données deviennent souvent une contrainte. Cet article explorera une série de stratégies efficaces d'optimisation des performances MySQL pour garantir que votre application reste efficace et réactive dans des charges élevées. Nous combinerons des cas réels pour expliquer les technologies clés approfondies telles que l'indexation, l'optimisation des requêtes, la conception de la base de données et la mise en cache. 1. La conception de l'architecture de la base de données et l'architecture optimisée de la base de données sont la pierre angulaire de l'optimisation des performances MySQL. Voici quelques principes de base: sélectionner le bon type de données et sélectionner le plus petit type de données qui répond aux besoins peut non seulement économiser un espace de stockage, mais également améliorer la vitesse de traitement des données.

Puis-je récupérer le mot de passe de la base de données dans Navicat? Puis-je récupérer le mot de passe de la base de données dans Navicat? Apr 08, 2025 pm 09:51 PM

Navicat lui-même ne stocke pas le mot de passe de la base de données et ne peut récupérer que le mot de passe chiffré. Solution: 1. Vérifiez le gestionnaire de mots de passe; 2. Vérifiez la fonction "Remember Motway" de Navicat; 3. Réinitialisez le mot de passe de la base de données; 4. Contactez l'administrateur de la base de données.

See all articles