Symptoms
«S1000: [Microsoft ODBC SQL server driver sql server could not find the index entry for our ID (ID number) in index page (page number), index id (Number), database (database name)»This error occurs when attempting to generate a report.
Cause
Ledger Refresh is enabled.
Resolution
ResolutionOn the Company menu, click Information. The Company Information screen appears. Click the System Specific Information tab. Select the Disable Ledger Refresh box. Save your changes.
References
Need more help?
Want more options?
Explore subscription benefits, browse training courses, learn how to secure your device, and more.
Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.
I am getting this Error While I try to do BCP
SQLState = S1000, NativeError = 0
Error = [Microsoft][SQL Server Native Client 11.0]Unable to open BCP host data-file
This is my code:
DECLARE @dump_data1 varchar(500)
SET @dump_data1 = 'bcp "select * from IDcountries.dbo.IDs$" queryout "\NetworkLocationwatchdog.xls" -c -S STRIVEDISQLEXPRESS -T'
EXEC xp_cmdshell @dump_data1
I do have all the rights on Network Drive.
This code perfectly works fine for destination of my local drive like C:
.
I also tried entering -U
and -P
options as well. But, no luck
Can someone please help me on this issue?
marc_s
728k174 gold badges1327 silver badges1455 bronze badges
asked Oct 17, 2013 at 20:45
3
I also faced the same problem. This seems to be permission of the folder. Edit the Security Tab under Folder Properties and give Modify permission to the user account through which SQL Server services are running in the SQL Server. Normally this user account is named as MSSQLSERVER. This worked fine for me.
Gwenc37
2,0647 gold badges18 silver badges22 bronze badges
answered Apr 24, 2014 at 7:01
This is usually due to file create/writing permissions on the output target folder. Try to output data to a local folder on your machine to test:
bcp DATABASE.SCHEMA.TABLE out C:TEMPfilename.dat -T -S SERVER-NAME -n
answered Feb 2, 2022 at 15:14
GBGOLCGBGOLC
5208 silver badges7 bronze badges
I am trying to create a format file for use with bcp exporting and bcp importing. I am actually just practicing to make sure I have this bcp stuff down before attempting to use it for copying a large database. The command I am using is
!!bcp «OLDAdventureWorks2008R2.dbo.AWBuildVersion» format nul -f «c:OLDAdventureWorks2008R2_dbo_AWBuildVersion.xml» -x -q -N -T -S Netsql1SQL2008_APPS
The error I get when I run the above (in SSMS Query Editor running in SQLCMD mode) is:
SQLState = S1000, NativeError = 0
Error = [Microsoft] [SQL Native Client] Format File : Invalid Field Index
The format file «OLDAdventureWorks2008R2_dbo_AWBuildVersion.xml» gets created, but contains no data.
I don’t get this error for any other table in the OLDAdventureWorks2008R2 database, only this on (i.e. AWBuildVersion). Note also that database OLDAdventureWorks2008R2 is a copy of AdventureWorks2008R2.
- Remove From My Forums
-
Question
-
I am getting this error while importing data from a csv file to SQL azure table. I am new to this technology. So I am trying it out with some small
no of records. I have very few records in my csv file and my Azure database table is empty right now.
This is the structure of the table in SQL Azure:
Create Table BCP
(
Id int identity(1,1)
Value int,
Name nvarchar(50),
Constraint [pk_bcp] primMary key clustered([id] asc)
) on [primary]
records I am trying to insert are as follows
100, abc
200, bcd
300, cdf
400, efg
500, fgh
600, ghi
700, hij
800, ijk
900, jkl
I am trying to achieve through command prompt. the command I am using is
C:UsersAdministrator>BCP TestTask.dbo.BCP In C:UsersAdministratorDesktopExampleBCP.csv
-S tcp:<servername style=»color:#111111;font-family:’Segoe UI’, Arial, sans-serif;font-size:14px;line-height:normal;»>.database.windows.net
-U 12345admin@<servername>.database.windows.net
-P Welc@m#123 -E -h ‘TABLOCK’ -n -k -t ‘,’ -r ‘n'</servername></servername>
Answers
-
Hello,
Based on the error message, it related to the format file. However, the non-xml format and command is works well on my test environment. Can you try to create the default format file yourself and then try again. You can create a default format
file (.fmt) with the following command:bcp TestTask.dbo.BCP format nul -n -f C:UsersAdministratorDesktopExamplebcpfmt.fmt -S tcp:servername.database.windows.net -U 12345admin@<servername>.database.windows.net -P Welc@m#123 -k -t ',' -r 'n'
And then you can modify the format file by remove the reference to the identity column or you can set the field length to 0. For example:
3 1 SQLINT 0 0 "," 1 Id "" 2 SQLINT 1 4 "," 2 Value "" 3 SQLNCHAR 2 100 "rn" 3 Name SQL_Latin1_General_CP1_CI_AS
Reference:Using a Data File with Fewer Fields
Regards,
Fanny Liu
Fanny Liu
TechNet Community Support-
Marked as answer by
Friday, June 20, 2014 2:03 AM
-
Marked as answer by
Всем привет! Сегодня я расскажу об ошибке «Сохранение изменений запрещено», которая возникает в среде SQL Server Management Studio при работе с конструктором таблиц, будут рассмотрены причины ее возникновения и, конечно же, способы исправления данной ошибки.
Заметка! Обзор функционала SQL Server Management Studio (SSMS).
Содержание
- Ошибка «Сохранение изменений запрещено»
- Причины возникновения ошибки «Сохранение изменений запрещено»
- Способы устранения ошибки «Сохранение изменений запрещено»
- Использовать T-SQL
- Отключить параметр «Запретить сохранение изменений, требующих повторного создания таблицы»
Ошибка «Сохранение изменений запрещено»
Итак, ситуация: Вы вносите изменения в таблицу с помощью конструктора в среде SQL Server Management Studio, однако при попытке сохранить изменения Вы получаете следующую ошибку
Сохранение изменений запрещено. Чтобы сохранить изменения, необходимо удалить и повторно создать следующие таблицы. Либо изменения вносятся в таблицу, которую невозможно создать повторно, либо включен параметр «Запретить сохранение изменений, требующих повторного создания таблицы».
Причины возникновения ошибки «Сохранение изменений запрещено»
Дело в том, что при изменении таблицы с помощью конструктора с изменением структуры ее метаданных, чтобы сохранить все изменения, необходимо пересоздать таблицу на основе этих изменений, т.е. создать ее заново. Вы этого не видите, но это будет делать сама среда Management Studio.
Однако это действие может привести к потере метаданных и прямой потере данных во время повторного создания таблицы.
Поэтому по умолчанию в среде SQL Server Management Studio включен параметр «Запретить сохранение изменений, требующих повторного создания таблицы». И если Вы используете графический конструктор таблиц, чтобы внести изменения в таблицу, например, Вы выполняете следующие действия:
- Меняете параметр «Разрешить значения NULL» для столбца;
- Изменяете порядок столбцов в таблице;
- Изменяете тип данных столбца;
- Добавляете новый столбец.
то в этих случаях Вы будете получать именно такую ошибку.
Способы устранения ошибки «Сохранение изменений запрещено»
Вы можете спросить, «а как же тогда вносить изменения в таблицы, если существует прямой запрет на внесения изменений?».
Конечно же, существуют способы устранения данной ошибки и внесение изменений в таблицы. В частности, Вы можете использовать два.
Использовать T-SQL
Первый, и рекомендованный – это использовать инструкции T-SQL.
Заметка! Что такое T-SQL. Подробное описание для начинающих.
В качестве примера давайте представим, что у нас есть таблица Goods, и она имеет следующие данные.
CREATE TABLE Goods( ProductId INT IDENTITY(1,1) NOT NULL, Category INT NOT NULL, ProductName VARCHAR(100) NOT NULL, Price MONEY NULL ); INSERT INTO Goods (Category, ProductName, Price) VALUES (1, 'Системный блок', 50), (1, 'Клавиатура', 30), (1, 'Монитор', 100), (2, 'Планшет', 150), (2, 'Смартфон', 100); SELECT * FROM Goods;
Заметка! Если Вас интересует язык SQL, то рекомендую почитать книгу «SQL код» – это самоучитель по языку SQL для начинающих программистов. В ней очень подробно рассмотрены основные конструкции языка.
Изменяем параметр «Разрешить значения NULL»
Как видим, столбец Price на текущий момент у нас может принимать значения NULL, однако мы решили сделать этот столбец обязательным к заполнению и запретить хранение в нем значений NULL.
Если мы будем использовать конструктор таблиц, то мы получим ошибку «Сохранение изменений запрещено».
Чтобы запретить хранение NULL значений, мы можем выполнить следующую инструкцию SQL
ALTER TABLE Goods ALTER COLUMN Price MONEY NOT NULL;
Однако помните о том, что в столбце на момент выполнения инструкции уже не должно быть значений NULL, Вы их должны устранить.
Изменяем тип данных столбца
Если необходимо изменить тип данных столбца, то нужно написать практически точно такую же инструкцию, только при этом указав новый тип данных.
ALTER TABLE Goods ALTER COLUMN Price NUMERIC(18,2) NOT NULL;
В данном случае мы изменили тип данных столбца Price с MONEY на NUMERIC.
Добавляем новый столбец
Если требуется добавить новый столбец, то Вы можете использовать следующую инструкцию.
ALTER TABLE Goods ADD ProductDescription VARCHAR(300) NULL;
В этом примере мы добавили столбец ProductDescription с типом данных VARCHAR.
К сожалению, изменение порядка столбцов в таблице на языке T-SQL не поддерживается, это возможно только путем пересоздания таблицы.
Заметка! Транзакции в T-SQL – основы для новичков с примерами.
Отключить параметр «Запретить сохранение изменений, требующих повторного создания таблицы»
Если Вы не хотите вникать в SQL, то Вы можете просто отключить параметр «Запретить сохранение изменений, требующих повторного создания таблицы» и в таком случае Вы сможете вносить в таблицы все перечисленные выше изменения, которые ранее были недоступны, включая изменение порядка столбцов.
Однако Microsoft не рекомендует отключать этот параметр, ссылаясь на то, что при определенных обстоятельствах сохранение изменений, требующих повторного создания таблицы, может привести к потере метаданных и прямой потере данных. Например, если у таблицы включен функционал «Отслеживания изменений».
В большинстве случаев потери данных, конечно же, не будет происходить, поэтому данный параметр отключить можно, но лучше использовать SQL.
Чтобы отключить данный параметр, зайдите в SSMS в меню «Сервис -> Параметры» и на вкладке «Конструкторы» снимите галочку «Запретить сохранение изменений, требующих повторного создания таблицы» и нажмите «ОК».
После этого Вы сможете сохранять любые изменения в таблицах с помощью графического конструктора.
Заметка! Курсы по Transact-SQL для начинающих.
На сегодня это все, надеюсь, материал был Вам полезен, пока!
Многие, кто работал в программе Microsoft SQL Server Management Studio, сталкивался с такой ситуацией, когда при сохранении изменений в структуре таблицы возникала ошибка.
И что бы мы не делали, как бы мы не пытались сохранить изменения — программа нам не дает этого сделать. Можно удалить данную таблицу и создать такую же структуру заново. А если спустя несколько минут нам нужно внести еще изменения в структуру? Удалять и создавать структуру не вариант. Оказывается в программе есть параметр, отвечающий за сохранение изменений в структуре таблицы.
Для этого нам необходимо выбрать пункт меню Сервис -> Параметры.
В открывшемся окне Параметры в иерархическом меню найти пункт Конструкторы и раскрыть его. Затем выбрать пункт Конструкторы таблиц и баз данных. И как на рисунке выше снять галочку у параметра Запретить сохранение изменений, требующих повторного создания таблицы. После нажать на кнопку ОК.
Теперь вы сможете легко изменять и сохранять изменения в ваших таблицах.
Опытные разработчики о данной функции уже знают, а для новичков, возможно, сэкономит немного времени. Спасибо за внимание и до новых встреч!
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Я пытаюсь внести изменения в существующую таблицу и получаю эту ошибку при попытке сохранить:
Сохранение изменений не допускается. Изменения, которые вы внесли, требуют, чтобы следующие таблицы были удалены и повторно созданы. Вы внесли изменения в таблицу, которую невозможно воссоздать или включить параметр Запретить сохранение изменений, требующих воссоздания таблицы.
У меня есть только одна запись данных в базе данных — удалил бы это, разрешив проблему, или мне придется воссоздать таблицы, как подсказывает ошибка? (Это на SQL-Server 2008 R2)
Следующие действия могут потребовать воссоздания таблицы:
- Добавление нового столбца в середину таблицы
Удаление столбца
Изменение нулевой точности столбца
Изменение порядка столбцов
Изменение типа данных столбца
Чтобы изменить этот параметр, в меню «Сервис» выберите «Параметры», «Развернуть конструкторы», а затем «Дизайнеры таблиц и баз данных». Выберите или снимите флажок «Предотвратить сохранение», для которого требуется, чтобы таблица была заново создана.
обратитесь
вам нужно изменить настройки, чтобы сохранить изменения
- Откройте SQL Server Management Studio (SSMS).
В меню «Сервис» выберите «Параметры».
В навигационной панели окна «Параметры» щелкните «Дизайнеры».
Выберите или снимите флажок «Предотвратить сохранение изменений, требующих переопределение таблицы», и нажмите «ОК».
Goto -> Tools -> Options->Designers-> Warn on null primary keys and
Warn about tables affected
снимите флажок и повторите попытку
Введите минимум 50 символов
В процессе взаимодействия с программным обеспечением компании Майкрософт «SQL Server Management Studio», а конкретно при желании определить какие-либо корректировки в табличном структурировании, бывают случаи, когда выскакивает предупреждающее диалоговое окно с оповещением, что сохранение изменений в SQL запрещено. Полное полученное уведомление выглядит так:
«Сохранение изменений запрещено. Чтобы сохранить изменения, необходимо удалить и повторно воссоздать текущие таблицы. Либо изменения вносятся в таблицу, которую невозможно воссоздать повторно, либо активирован параметр «Запретить сохранение изменений, требующих повторного создания таблицы».
Когда появляется похожее сообщение в MS SQL, тогда программное обеспечение не даст вам возможность внести и сохранить какие-то изменения. Как видно, сообщение довольно внушительное. Поэтому не все его внимательно читают до конца. Обычно на слове «удалить» внимательность пользователей притупляется. Естественно, удалить имеющуюся таблицу и структуру можно, а потом воссоздать ее заново. Но представьте, что вы удалили и воссоздали новую таблицу, а через какое-то время опять ее структурное представление нужно немного отредактировать. В такой ситуации опять выскочит предупреждающее сообщение. Это ограничение можно исключить довольно простыми способами.
Снимаем ограничение в MS SQL «Сохранение изменений запрещено»
Важно отметить, что такое ограничение активируется, когда пользователь решает внести корректировки в табличную структуру, а не просто внести какую-то информацию в уже созданные табличные ячейки. Уведомление «Сохранение изменений запрещено» в MS SQL появляется в следующих случаях:
когда пользователь хочет переопределить параметр «запретить использование Nulls» для табличных колонок;
если пользователь пытается перестроить структуру табличных колонок;
когда пользователь пытается редактировать типаж информации, сохраняемой в колонке;
когда пользователь хочет обозначить новую табличную колонку;
и др.
На самом деле, такое оповещение появляется по одной простой причине — в табличных настройках MS SQL активирован параметр, предотвращающий внесение изменений в структурное оформление таблиц.
Снять это ограничение в MS SQL «Сохранение изменений запрещено» возможно двумя способами:
применить команду «ALTER TABLE»;
отключить параметр, предотвращающий внесение изменений в табличное структурирование.
Снимаем ограничение MS SQL «Сохранение изменений запрещено» при помощи «ALTER TABLE»
Команда «ALTER TABLE» — это специальная SQL-команда, которая используется для редактирования структуры SQL-таблиц. При помощи этой команды можно «обойти» ограничивающий параметр и модифицировать таблицу по своему вкусу.
Например, чтобы добавить новую колонку в нашу таблицу, можно воспользоваться таким синтаксисом:
ALTER TABLE<наименование_таблицы>
{ADD<наименование_добавляемой_колонки><тип_данных_колонки> [атрибуты_колонки]}
Другие инструкции, доступные в «ALTER TABLE»:
«DROP COLUMN» — используется для удаления любой колонки таблицы;
«ALTER COLUMN» — используется для изменения типа данных, сохраняемого в определенной колонке;
«ADD CHEK» — применяется, когда нужно добавить какое-то ограничение к информации в колонке таблицы;
«ADD FOREIGN KEY» — используется, когда колонке нужно добавить внешний ключ;
«ADD PRIMARY KEY» — применяется, когда колонке нужно добавить первичный ключ;
и др.
Решаем проблему MS SQL «Сохранение изменений запрещено», отключая ограничивающий параметр
Разрешить редактирование табличной структуры можно, если деактивировать ограничивающий параметр. Чтобы его деактивировать, следуйте алгоритму:
Запустите программное обеспечение Майкрософт SQL Server Management Studio.
В основном меню программы найдите подпункт «Сервис».
В этом подпункте найдите раздел «Параметры».
В этом разделе настроек отыщите подпункт «Конструкторы».
В этом подпункте настроек отыщите раздел «Конструкторы таблиц и баз данных».
В этом разделе уберите «галочку» с пункта «Запретить сохранение изменений, требующих повторного создания таблицы».
После этого вам осталось только сохранить настройки, нажав кнопку «Ок».
Деактивация данного параметра исключает появление уведомления в MS SQL «Сохранение изменений запрещено». Опытные пользователи MS SQL уже давно знают об этой функции. Но они также знают, что в некоторых случаях отключение этого параметра может привести к потере информации. Поэтому использовать данное решение нужно с осторожностью.
Заключение
Сегодня мы рассказали, как решается проблема MS SQL «Сохранение изменений запрещено». Решить ее можно одним из предложенных способов. Лучший способ — это отключение ограничивающего параметра в настройках программы.