Windows

MS SQL Server

В данной публикации буду размещать T-SQL код, редко используемый, но позволяющий секономить не мало времени.

Поиск поиск текста в хранимой процедуре (хранимым процедурам), данный код работает под MS SQL 2000:

select t2.name, t1.text
  from syscomments as t1
  inner join sysobjects as t2 on t1.id = t2.id
  where t1.text like '%searchText%'
Добавлено: 13 января 2014 | Читать далее...

Система

Бывают ситуации, когда система не может быть остановлена ни при каких обстоятельствах, но ОС как нарочно хочет установить обновления. Windows XP в этом плане вообще бескомпромиссная, дает 15 минут после чего будет перезагружена, без вариантов отсрочки. В Seven в этом плане более лояльна, предлагает отсрочить обновление на указанное количество минут, после чего опять назойливо попросит либо отсрочить либо перезагрузить.


Для решения этих проблем есть один простой рецепт. Нужно открыть консоль, сделать это можно по сочетанию клавиш WIN + R, введя команду CMD:

Добавлено: 11 апреля 2013 | Читать далее...

MS SQL Server

В SQL Server 2008 появилась новая плюшка позволяющая централизовано рулить удаленными серверами.
Добавлено: 01 марта 2013 | Читать далее...

Система

Определить модель материнской платы, а так же производителя и другие параметры не прибегая к сторонним утилитам, возможно средствами консоли операционной системы. Для запуска консоли нужно нажать Win+R, затем ввести команду CMD. В открывшейся консоли выполнить команду:

wmic baseboard list full
Получим полное описание материнской платы:


Производитель находится в параметре Manufacturer, а модель находиться в параметре Product. Характеристики оперативной памяти можно увидеть выполнив:

wmic memorychip list full
wmic memphysical list full
Команда wmic может принимать и другие параметры, для того что определить какие, нужно выполнить:

wmic /?
Общую информацию о система можно получить выполнив команду:

systeminfo
P.S. Так же через утилиту wmic можно определить модель ноутбука, для этого выполняем:

wmic csproduct get name
Изменено: 19 апреля 2013 | Добавлено: 09 ноября 2012 | Читать далее...

Система

Для смены в Windows 7 логотипа входа пользовательского интерфейса, нужно выполнить порядок действий:
  1. Нажать кнопку Пуск, ввести в поле "Найти программы и файлы" команду regedit и нажать Enter

  2. Перейти к разделу - HKLM\Software\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\Background

  3. Изменить значения OEMBackground на 1, если ключа OEMBackground нет, то создать его (DWORD (32 бита)).

  4. Перейти в папку %windir%\system32\oobe, создать папку “info”, внутри нее создать еще одну папку “backgrounds”

  5. Разместить картинку которая должна отображаться при входе в систему в %windir%\system32\oobe\info\backgrounds

  6. Переименовать изображение в backgroundDefault.jpg
Примечание: файл должен быть jpg-типа и меньше 256КБ
Изменено: 31 августа 2011 | Добавлено: 27 августа 2011 | Читать далее...

MS SQL Server

Для того чтобы отправить почту с помощью компонента Database Mail в SQL Server. Нужно выполнить 3 основных шага.

  1. Создание профиля учетной записи
  2. Настройка SQL Server
  3. Отправка тестового сообщения по электронной почте
Шаг 1) Создание профиля учетной записи:

Что бы создать профиль нужно запустить мастер "Configure Database Mail", который доступен из контекстного меню на объекте "Database Mail" (Management - Database Mail).

Изменено: 31 августа 2011 | Добавлено: 15 июля 2011 | Читать далее...

MS SQL Server

Данный функционал доступен в версии SQL Server 2005 и выше, независимо от редакции (Express, Standard и т.д.), построенный на системном представлении sys.dm_exec_query_stats:

set transaction isolation level read uncommitted
select 
	top 100
	creation_time,
	last_execution_time,
	execution_count,
	total_worker_time/1000 as CPU,
	convert(money, (total_worker_time))/(execution_count*1000)as [AvgCPUTime],
	qs.total_elapsed_time/1000 as TotDuration,
	convert(money, (qs.total_elapsed_time))/(execution_count*1000)as [AvgDur],
	total_logical_reads as [Reads],
	total_logical_writes as [Writes],
	total_logical_reads+total_logical_writes as [AggIO],
	convert(money, (total_logical_reads+total_logical_writes)/(execution_count + 0.0))as [AvgIO],
	case 
		when sql_handle IS NULL then ' '
		else(substring(st.text,(qs.statement_start_offset+2)/2,(
			case
				when qs.statement_end_offset =-1 then len(convert(nvarchar(MAX),st.text))*2      
				else qs.statement_end_offset    
			end - qs.statement_start_offset)/2  ))
	end as query_text,
	db_name(st.dbid)as database_name,
	object_schema_name(st.objectid, st.dbid)+'.'+object_name(st.objectid, st.dbid) as object_name
from sys.dm_exec_query_stats  qs
cross apply sys.dm_exec_sql_text(sql_handle) st
where total_logical_reads > 0
order by AvgDur desc
Изменено: 09 сентября 2011 | Добавлено: 09 июня 2011 | Читать далее...

Система

Для того чтобы настроить параметры TCP / IP из консоли, таких как IP-адрес, маску подсети, шлюз по умолчанию, DNS и WINS-адреса нужно использовать Netsh.exe.
Netsh.exe это утилита командной строки, которая позволяет, либо локально, либо удаленно, отображать или изменять конфигурацию сети компьютера. С помощью Netsh.exe можно сохранять сценарии конфигурации в текстовый файл.

Netsh.exe позволяет делать:
  1. настройку интерфейса
  2. настройку протоколов маршрутизации
  3. настройку фильтров
  4. настройку маршрутов
  5. показать конфигурацию сети на любой windows машине
  6. использование в сценариях
Добавлено: 19 мая 2011 | Читать далее...

MS SQL Server

Однажды работая с SQL сервером наткнулся на проблемы работы пользовательской БД. Пытаясь выяснить проблему попробовал подключиться через SQL Server Management Studio, но место подключения получил ошибку: Невозможно открыть пользовательскую базу данных по умолчанию. Связано это с тем что в настройках профиля пользователя через которого пытался войти в SQL Server Management Studio по умолчанию стояла как раз эта пользовательская база. Для решения проблемы нужно сменить пользовательскую БД на системную БД master. Для это нужно запустить cmd.exe  и в ней выполнить:

c:\> sqlcmd -S SQLSERVER -d master

1> alter login SKYNET with default_database = master

2> go

3> exit
Соотвественно SQLSERVER имя SQL сервера, SKYNET логин входа в SQL Server Management Studio.
Добавлено: 29 апреля 2011 | Читать далее...

MS SQL Server

Когда запись удаляется, в файле БД высвобождается место. Когда вставляется новая запись, это может привести к расщеплению страниц, что приводит к появлению пустого пространства на страницах данных. Когда данный обновляются, это может привести к изменению размера записи и к возникновению двух ранее упоминавшихся случаев. Все это приводит к фрагментации. В SQL Server рассматриваются два типа фрагментации: внутренняя и внешняя.

  • Внутренняя подразумевает пустоты внутри страницы
  • Внешняя – непоследовательность связей страниц
Если страницы не полностью заполнены данными, это приводит к дополнительным операциям I/O и переиспользованью оперативной памяти. Помните что страницы в оперативной памяти есть зеркальное отражение страниц на диске.

В идеале страницы должны быть подлинкованы слева направо в порядке хранения данных. Вследствие расщепления страниц этот порядок может быть нарушен. Это приводит как к неполному заполнению страниц, так и к увеличению операций I/O вследствие непоследовательного положения цепочек страниц на диске – это вызывает дополнительные перемещения головок с цилиндра на цилиндр диска. А это одна из наиболее медленных дисковых операций.

Команда DBCC SHOWCONTIG помогает определить как внутреннюю так и внешнюю фрагментацию.
Добавлено: 21 апреля 2011 | Читать далее...

MS SQL Server

Индексы не выбираются на основании анализа распределенной статистики. В SQL Server 2000 статистика хранится в поле данных для хранения имиджей. То есть – растет пропорционально размеру индекса, это позволяет не терять точность при увеличении размера индексов.

Что бы понять что из себя представляет статистика, рассмотрим следующий пример. Возьмем таблицу Orders из базы данных Northwind. Если мы выполним следующий запрос:

SELECT TOP 24 OrderID, convert(char(11), OrderDate)
FROM Orders
ORDER BY OrderDate
Изменено: 09 сентября 2011 | Добавлено: 21 апреля 2011 | Читать далее...

MS SQL Server

Настройка сервера:
  • Информация о сервере

    select @@version
  • Показывает расширенные настройки конфигурирования

    sp_configure 'show advanced options' 1
    reconfigure
    
  • Просмотр доступных настроек

    sp_configure
  • Применить изменения конфигурации если не требуется перезапуск сервера

    sp_configure <настройка> <допустимое значение настройки>
    reconfigure
Изменено: 04 февраля 2015 | Добавлено: 20 апреля 2011 | Читать далее...

MS SQL Server

При попытке отключения "publishing and distribution" выходит ошибка.

Error SQL Server писал(а):
Cannot execut as the database principal because the principal "dbo" does not exist, this type of pricipal cannot be impersonated, or you do not have permission.
Change database conext to 'mydb'(Sql sErver error: 15517)

Проблемой такой ошибки может быть потеря связки схемы dbo на логин sa. Для этого на всех не системных базах данных нужно выполнить:

exec sp_changedbowner 'sa'
Изменено: 30 июня 2011 | Добавлено: 20 апреля 2011 | Читать далее...

MS SQL Server

Для того, чтобы сделать выборку из таблицы, расположенной на другом сервере или получить результат выполнения расположенной там функции или хранимой процедуры, в Microsoft SQL Server предусмотрен механизм распределенных запросов. Для использования этого механизма целевые сервера должны быть предварительно связаны.Настраивают связанный сервер с помощью SQL Server Management Studio или системной хранимой процедуры sp_addlinkedserver.

Для связывания на сервере запустите SQL Server Management Studio, раскройте узел Server Objects. В контекстном меню узла Linked Servers выберите пункт New Linked Server. На вкладке General нужно ввести имя связываемого сервера и выбрать тип сервера SQL Server. На вкладке Security. Выберите переключатель "Be made using the security context" и введите логин и пароль для доступа к удаленному серверу.

После этого вы сможете выполнять запросы к таблицам удаленного сервера используя четырехкомпонентное имя:

имя_связанного_сервера.база_данных.схема.имя_объекта
Добавлено: 20 апреля 2011 | Читать далее...

MS SQL Server

Иногда возникает необходимость перенесения базы данных tempdb на другой жесткий диск для увеличения производительности SQL сервера. Для этого нужно выполнить SQL пакет:

use master
alter database tempdb
modify file(
name = tempdev,
filename = N'<путь к новому месту хранения>\tempdb.mdf')

go

alter database tempdb
modify file(
name = templog,
filename = N'<путь к новому месту хранения>\templog.ldf')
Затем нужно перезапустить MS SQL Server. При перезапуске сервер баз данных создаст базу tempdb в новом месте, а старые файлы можно удалить вручную.
Добавлено: 20 апреля 2011 | Читать далее...

Система

При установке системы был неправильно указан язык ввода (русский, а нужно английский). Конечно, не велика беда - переключился и вводи пароль, но хотелось бы, чтобы английский стоял по умолчанию.

Пути решения:

Параметры реестра, отвечающие за раскладку клавиатуры при входе в систему находятся в разделе реестра:

HKEY_USERS\.DEFAULT\Keyboard Layout\Preload
В нашем случае нужно на первую позицию поместить раскладку - 00000409 (английская раскладка):


P.S. Соответственно раскладка 00000419 является русской.

Добавлено: 20 апреля 2011 | Читать далее...

Система

Выдержка из Справки по использованию утилиты CMD.EXE (файл этой Справки находится в: <СисДиск:\WINDOWS\Help\ntcmds.chm>):

Справка МС писал(а):
«Если «грязный» бит тома задан, это может означать, что файловая система находится в неустойчивом состоянии. «Грязный» бит может быть задан, потому что том находится в подключенном состоянии и в нем имеются незаконченные изменения, из-за того что компьютер был выключен до того, как сделанные изменения были переданы на диск, или из-за обнаруженных повреждений тома. Если «грязный» бит задается при перезагрузке компьютера, командой chkdsk будет проведена проверка целостности тома.
При каждом запуске Windows XP ядро вызывает файл Autochk.exe для сканирования всех томов и проверки, заданы ли «грязные» биты томов. Если «грязный» бит задан, программа autochk.exe немедленно запускает команду «chkdsk /f» для этого тома. Команда «chkdsk /f» проверяет целостность файловой системы и пытается устранить все возможные неисправности тома.»

Проверить, стоит ли на разделе метка "dirty" можно, введя в командной строке команду:

fsutil dirty query C:
Где «C:» - буква интересующего диска. После выполнения команды появится одно из 2 возможных сообщений :
  • Том - С: помечен как "грязный"
  • Том - С: не помечен как "грязный"
Раздел может помечаться как грязный при принудительных перезагрузках (через кнопку Reset или выключения питания), вследствие Windows пометит его флагом "dirty" затем  при загрузке он будет проверяется. Снять такую метку можно выполнив в консоли команду, которая проверит диск и при наличии ошибок исправит их:

chkdsk С: /f
После чего нужно убедиться что метка снята выполнив команду в консоли «fsutil dirty query C:». Если метка была снята и при перезагрузке вновь появилась проверка диска. То нужно обратить внимание на установленные приложения в системе которые находятся в автозагрузке. И попробовать отключить их, выполнив все процедуры по новой. После того как будет найдено проблемное приложение нужно определить действительно ли есть необходимость в запуске его со стартом системы. Если такая необходимость есть то выполняем команду в консоли:

chkntfs /x С:
Где «C:» - буква интересующего диска.

Но при выполнении данной команды диск не будет проверяться на ошибки, что может негативно сказаться на сохранности данных на разделе.
Добавлено: 20 апреля 2011 | Читать далее...

Система

При установке Service Pack 1 для  Windows  7 можно столкнуться с ошибкой  0x800f0a12. Проблема появления данной ошибки заключается в том что при установки, Service Pack 1 для  Windows  7 проверяет загрузочную область (MBR) жесткого диска. Но на ПК могут присутствовать альтернативные ОС, а с ними и их загрузчики например Grub Loader вместо стандартного  windows .
Проблему можно решить отключением жесткого диска, на котором стоит Grub и грузиться с винчестера на котором стоит  windows  7.
Добавлено: 15 марта 2011 | Читать далее...