SQLSERVER数据库中的5173错误解决方法
修复因为客户那边需要这个数据库,当我附加数据库的时候报错,数据库是SQL2005,接下来将介绍详细解决方法
昨天同事给你我一个有问题的数据库,叫我修复一下因为客户那边需要这个数据库,这个数据库只有一个mdf文件和一个ldf文件,
当我附加数据库的时候报错,数据库是SQL2005
附上有损坏的:
因为之前在论坛也遇到过,所以按照论坛的方法来解决,结果还是不行
把ldf文件移到别的地方,然后附加的时候使用下面SQL语句重建事务日志文件
我的数据库文件放在C:\Users\Administrator\Desktop\新建文件夹目录下
代码如下:
USE [master]
GO
CREATE DATABASE [AdventureWorks2012] ON
( FILENAME = N'C:\Users\Administrator\Desktop\新建文件夹\GPOSDB.mdf' )
FOR ATTACH_REBUILD_LOG
GO
报错内容:
代码如下:
1 文件激活失败。物理文件名称'D:\MSSSQL\Data\GPOSDB_log.LDF'可能不正确。
2 由于数据库没有完全关闭,无法重新生成日志。
3 消息 1813,级别 16,状态 2,第 1 行
4 无法打开新数据库 'GPOSDB'。CREATE DATABASE 中止。
我现在按照这篇文章再试一下
http://www.blogjava.net/kent/articles/200991.html
先新建一个GPOSDB的空库,然后停掉SQL服务
将刚才生成的数据库的日志文件GPOSDB_log.ldf删除
用要恢复的GPOSDB.mdf文件覆盖刚才生成的数据库数据文件GPOSDB.mdf
然后把有问题的GPOSDB.mdf文件放在D盘,因为我新建的GPOSDB数据库放在D盘
启动SQL服务
文章说会显示数据库置疑,但是我的没有显示置疑
设置数据库允许直接操作系统表
在SSMS里输入下面SQL语句
代码如下:
USE master
go
sp_configure 'allow updates', 1
go
RECONFIGURE WITH OVERRIDE
go
设置GPOSDB为紧急修复模式
代码如下:
ALTER DATABASE [GPOSDB] SET EMERGENCY
GO
ALTER DATABASE GPOSDB SET SINGLE_USER
GO
UPDATE sysdatabases
SET status = -32768
WHERE dbid = DB_ID('GPOSDB')
GO
但是报错
代码如下:
1 消息 259,级别 16,状态 1,第 1 行
2 不允许对系统目录进行即席更新。
尝试重建日志,但是语法错误,估计那篇文章是SQL2000的
代码如下:
1 DBCC rebuild_log('GPOSDB','D:\GPOSDB_log.ldf')
2 GO
1 消息 2526,级别 16,状态 3,第 1 行
2 DBCC 语句错误。请查阅文档以了解正确的 DBCC 语法和选项。
一查果然是
--* DBCC REBUILDLOG
--重建SQL Server 2000事务日志文件
其实一开始在步骤“设置数据库允许直接操作系统表” 就怀疑是不是SQL2000的,因为SQL2005或以后已经不能修改系统表了
最后把事务日志文件也放到D盘,然后使用下面的SQL语句来修复还是不行
代码如下:
ALTER DATABASE [GPOSDB] SET EMERGENCY
GO
ALTER DATABASE GPOSDB SET SINGLE_USER
GO
DBCC CheckDB (GPOSDB, REPAIR_ALLOW_DATA_LOSS)
GO
代码如下:
消息 5173,级别 16,状态 1,第 2 行
一个或多个文件与数据库的主文件不匹配。如果是尝试附加数据库,请使用正确的文件重试该操作。如果这是现有数据库,则文件可能已损坏,应该从备份进行还原。
日志文件 'D:\GPOSDB_log.ldf' 与主文件不匹配。该文件可能来自另一数据库,或者可能以前重新生成了日志。
消息 5123,级别 16,状态 1,第 2 行
尝试打开或创建物理文件 'D:\MSSSQL\Data\GPOSDB_log.LDF' 时,CREATE FILE 遇到操作系统错误 3(系统找不到指定的路径。)。
消息 5024,级别 16,状态 2,第 2 行
在 sysfiles1 中找不到主日志文件所对应的条目。无法重建日志。
消息 5028,级别 16,状态 2,第 2 行
系统无法激活足够的数据库来重建日志。
GPOSDB的 DBCC 结果。
CHECKDB 在数据库 'GPOSDB' 中发现 0 个分配错误和 0 个一致性错误。
消息 7909,级别 20,状态 1,第 2 行
紧急模式修复失败。您必须从备份中还原。

Outils d'IA chauds

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

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

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

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

La numérisation complète de la table peut être plus rapide dans MySQL que l'utilisation d'index. Les cas spécifiques comprennent: 1) le volume de données est petit; 2) Lorsque la requête renvoie une grande quantité de données; 3) Lorsque la colonne d'index n'est pas très sélective; 4) Lorsque la requête complexe. En analysant les plans de requête, en optimisant les index, en évitant le sur-index et en maintenant régulièrement des tables, vous pouvez faire les meilleurs choix dans les applications pratiques.

Les capacités de recherche en texte intégral d'InNODB sont très puissantes, ce qui peut considérablement améliorer l'efficacité de la requête de la base de données et la capacité de traiter de grandes quantités de données de texte. 1) INNODB implémente la recherche de texte intégral via l'indexation inversée, prenant en charge les requêtes de recherche de base et avancées. 2) Utilisez la correspondance et contre les mots clés pour rechercher, prendre en charge le mode booléen et la recherche de phrases. 3) Les méthodes d'optimisation incluent l'utilisation de la technologie de segmentation des mots, la reconstruction périodique des index et l'ajustement de la taille du cache pour améliorer les performances et la précision.

Oui, MySQL peut être installé sur Windows 7, et bien que Microsoft ait cessé de prendre en charge Windows 7, MySQL est toujours compatible avec lui. Cependant, les points suivants doivent être notés lors du processus d'installation: téléchargez le programme d'installation MySQL pour Windows. Sélectionnez la version appropriée de MySQL (communauté ou entreprise). Sélectionnez le répertoire d'installation et le jeu de caractères appropriés pendant le processus d'installation. Définissez le mot de passe de l'utilisateur racine et gardez-le correctement. Connectez-vous à la base de données pour les tests. Notez les problèmes de compatibilité et de sécurité sur Windows 7, et il est recommandé de passer à un système d'exploitation pris en charge.

La différence entre l'index cluster et l'index non cluster est: 1. Index en cluster stocke les lignes de données dans la structure d'index, ce qui convient à la requête par clé et plage primaire. 2. L'index non clumpant stocke les valeurs de clé d'index et les pointeurs vers les lignes de données, et convient aux requêtes de colonne de clés non primaires.

MySQL est un système de gestion de base de données relationnel open source. 1) Créez une base de données et des tables: utilisez les commandes CreateDatabase et CreateTable. 2) Opérations de base: insérer, mettre à jour, supprimer et sélectionner. 3) Opérations avancées: jointure, sous-requête et traitement des transactions. 4) Compétences de débogage: vérifiez la syntaxe, le type de données et les autorisations. 5) Suggestions d'optimisation: utilisez des index, évitez de sélectionner * et utilisez les transactions.

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.

MySQL et MARIADB peuvent coexister, mais doivent être configurés avec prudence. La clé consiste à allouer différents numéros de port et répertoires de données à chaque base de données et ajuster les paramètres tels que l'allocation de mémoire et la taille du cache. La mise en commun de la connexion, la configuration des applications et les différences de version doivent également être prises en compte et doivent être soigneusement testées et planifiées pour éviter les pièges. L'exécution de deux bases de données simultanément peut entraîner des problèmes de performances dans les situations où les ressources sont limitées.

MySQL prend en charge quatre types d'index: B-Tree, hachage, texte intégral et spatial. 1. L'indice de tree B est adapté à la recherche de valeur égale, à la requête de plage et au tri. 2. L'indice de hachage convient aux recherches de valeur égale, mais ne prend pas en charge la requête et le tri des plages. 3. L'index de texte complet est utilisé pour la recherche en texte intégral et convient pour le traitement de grandes quantités de données de texte. 4. L'indice spatial est utilisé pour la requête de données géospatiaux et convient aux applications SIG.
