Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 | 2 | 3 | 4 |

 

  Вопрос: Microsoft SQL Server ставит рекорды безопасности Добавлено: 22.12.06 16:19  

Автор вопроса:  Artyom

Ответить

  Ответы Всего ответов: 56  

Номер ответа: 46
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #46
Добавлено: 29.12.06 18:02
Средним компаниям и выше.
И даже большим из маленьких. Зависит от специфики.

И насколько таких сферических компаний в вакууме много?

Кстати, то чем MySQL похвастаться вобщем-то и не может :)

Расшифруй, и я расскажу, почему оно в MySQL нафиг никому не надо :)

Я так полагаю речь идет об Application Server

Ну да. Насколько я понимаю, ты решил вообще отказаться от серверного слоя, оставив голую СУБД? Ну и чем это отличается от написания гуя на Оракле?

Ответить

Номер ответа: 47
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #47 Добавлено: 29.12.06 18:34
Расшифруй, и я расскажу, почему оно в MySQL нафиг никому не надо :)

Ну BI - это платформа, включающая в себя SQL Server Integration Service, SQL Server Analisys Service и SQL Server Reporting Service, соответственно интеграция, анализ и отчетность - основные составляющие бизнес-процесов.
В MySQL оно нафиг не надо потому что там где появляются такие требования MySQL уже не рассматривают как вариант средства для хранения данных.

А в говносайтах за 5 минут ала php интеграция и отчетность коненчо нах не нада.

Ну да. Насколько я понимаю, ты решил вообще отказаться от серверного слоя, оставив голую СУБД? Ну и чем это отличается от написания гуя на Оракле?

Не полностью, возможно просто немного облегчить его.

Я не знаю чем это отличается от написания гуя на Оракле посколько плохо представляю что есть общего между открытия http-доступа к базе данных средствами самого сервера баз данных и написанием гуя на Оракле. Может то что SQL Server и Oracle - НЕ опенсорс.

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

Ответить

Номер ответа: 48
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #48
Добавлено: 29.12.06 23:24
Ну BI - это платформа, включающая в себя SQL Server Integration Service, SQL Server Analisys Service и SQL Server Reporting Service, соответственно интеграция, анализ и отчетность - основные составляющие бизнес-процесов.

Более чем уверен, что существуют third-party продукты для этого дела, заточенные под MySQL, и AB, конечно же, правильно делает, что не пытается сесть на два горшка сразу.

Не полностью, возможно просто немного облегчить его.

Путем утяжеления базы?

плохо представляю что есть общего между открытия http-доступа к базе данных средствами самого сервера баз данных и написанием гуя на Оракле.

Решение задачи, для которой продукт не предназначен - аналог: забивать гвозди майкроскопом.

чем больше логики переносишь в базу данных, тем больше процедур становятся обычными шлюзами между курсором и xml, а с этим прекрасно справится и сам SQL Server.

С каких это пор перенос курсоров в XML - хоть сколь-нибудь тяжелый процесс? Мне вот больше интересно - какие средства, хотя бы приближающиеся по удобству к отладке кода в VS, придумала MS для ХП?

Ответить

Номер ответа: 49
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #49 Добавлено: 30.12.06 02:22
Более чем уверен, что существуют third-party продукты для этого дела, заточенные под MySQL, и AB, конечно же, правильно делает, что не пытается сесть на два горшка сразу.

Я более чем уверен что на вопрос о более продвинутых чес минимальные возможностях любого опен-сорс проекта я получу ответ "есть какие-то third-пати компоненты" или "увере что есть какие-то third-пати компоненты" :)

Путем утяжеления базы?

Где ж тут утяжеление?

С каких это пор перенос курсоров в XML - хоть сколь-нибудь тяжелый процесс?

Кто сказал что тяжелый? Простой! Настолько простой, что для этого даже не стоит выделять отдельный слой, более того даже не нужно писать код.


Мне вот больше интересно - какие средства, хотя бы приближающиеся по удобству к отладке кода в VS, придумала MS для ХП?

Ну вобщем-то есть таковые средства - интегрированые в саму Visual Studio 2005 со всеми вытекающими. Разумеется, они не дотягивают до уровня отладки управляемого кода, тем не менее их достаточно для отладки TSQL.
Отладку можно проводить на локальном компьютере, можно также и на удаленном.

В SQL Server 2000 средство отладки кстати тоже было и было оно встроено в Query Analizer. Правда там его даже проще юзать было ИМХО.

Я правда еще не знаю, какими средствми отладки располагает Visual Studio Team System for DAtabase Professionals - продукт вышел недавно и к сожалению я не успел с ним поиграться, но виденые мною возможности на презентации просто впечатляют - как только появится свободное время, обязательно разберусь с ним.
В любом случае в этом инструменте средства отладки будут либо такими же как в Visual Studio 2005, либо лучше.

Ответить

Номер ответа: 50
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #50
Добавлено: 30.12.06 04:24
Я более чем уверен что на вопрос о более продвинутых чес минимальные возможностях любого опен-сорс проекта я получу ответ "есть какие-то third-пати компоненты" или "увере что есть какие-то third-пати компоненты" :)

Правильно, потому что все, что востребовано и не слишком трудоемко, все уже давно написано, лицензировано под GNU и открыто в общий доступ. Поскольку я нужды в составлении отчетов на MySQL не испытывал, то я и не могу дать тебе без гугла ссылку, а ссылку на гугл ты и так знаешь. Тем не менее, более чем уверен, что если ты задашь этот вопрос на форуме MySQL, разработчики не начнут посыпать голову пеплом и кричать "О, как мы могли упустить из виду такую нужную вещь!!!", а дадут ссылку на готовый продукт, а скорее всего, и не на один.

Где ж тут утяжеление?

Добавление ХП в базу не может в принципе ее облегчить.

Кто сказал что тяжелый? Простой! Настолько простой, что для этого даже не стоит выделять отдельный слой, более того даже не нужно писать код.

Вот и я говорю, что простой, зачем писать отдельный код для каждой задачи? Возьми уже написанный, открытый, и правь его по своему усмотрению, если вдруг в каком-то проекте такое понадобится. Так где же выгода?

Разумеется, они не дотягивают до уровня отладки управляемого кода, тем не менее их достаточно для отладки TSQL.

Для отладки программ на ассемблере тоже можно пользоваться виндовым debug, но это неудобно. Я предпочитаю удобные среды, а если таких для какого-то языка нет, то предпочитаю на нем не писать.

Ответить

Номер ответа: 51
Автор ответа:
 GSerg



Вопросов: 0
Ответов: 1876


 Профиль | | #51 Добавлено: 30.12.06 08:03
Добавление ХП в базу не может в принципе ее облегчить.

Ты просто не видел базы с 100 000 - 200 000 хранимых процедур. А они есть. И они рулят.

Возьми уже написанный, открытый,

При этих словах вспоминается vbaccelerator, редкостная помойка с глючными контролами. Увольте; либо полностью свой, либо покупка качества. Причём на первое в 99% процентах случаев физически нет времени.

Ответить

Номер ответа: 52
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #52 Добавлено: 30.12.06 15:49
Добавление ХП в базу не может в принципе ее облегчить.

ужос. У меня возникает впечатление что меня всю жизнь обманывали!!!

То есть нагрузка базы данных хранимыми процедурами - это есть ее утяжеление? катаюсь под столом

Вот и я говорю, что простой, зачем писать отдельный код для каждой задачи? Возьми уже написанный, открытый, и правь его по своему усмотрению, если вдруг в каком-то проекте такое понадобится. Так где же выгода?

блин, меня убивают слова "возьми написаный открытый". Кем он написаный? Откуда я знаю что за ламеры прячутся за названием какой-то группы? И вообще зачем писать код для преобразования курсора в xml - это настраивается (по крайней мере в SQL Server) мышкой за несколько минут, а ты мне предлагаешь разбираться с очередной поделкой энтузиастов :-\ Пусть в ней хоть 100 раз будет открыт код, мне это не поможет потому что код, который не работает я не намерен сам исправлять - я его просто выкину.

Для отладки программ на ассемблере тоже можно пользоваться виндовым debug, но это неудобно. Я предпочитаю удобные среды, а если таких для какого-то языка нет, то предпочитаю на нем не писать.

То чть предлагает Microsoft для отладки TSQL нельзя назвать неудобной. Там нет edit-and-continue, нет еще нескольких интересных вещей, появившихся в VS 2003/2005, но прошу прощения, в других средствах разаботки даже такого набора возможностей нету!

Сильно MySQL позволяет отлаживать хранимые процедуры на удаленной машине? А вообще позволяет? И как там с удобством?

Про debug - сочувствую, но ты, надеюсь, не предлагаешь отлаживать TSQL средствами этой поделки?

Ответить

Номер ответа: 53
Автор ответа:
 HACKER


 

Разработчик Offline Client

Вопросов: 236
Ответов: 8362
 Профиль | | #53 Добавлено: 30.12.06 17:25
Я предпочитаю удобные среды, а если таких для какого-то языка нет, то предпочитаю на нем не писать.
Пробовал тот же PHP пошагово выполнять? Жуть... а писать приходится :)


Возьми уже написанный, открытый,


При этих словах вспоминается vbaccelerator, редкостная помойка с глючными контролами. Увольте; либо полностью свой, либо покупка качества. Причём на первое в 99% процентах случаев физически нет времени.


Но есть и хорошие вещи, и совершенно непричём где они есть vbaccelerator, или vbnet... :) Просто они есть. :)

А про отладку MySQL - действтельно туго, кто бы чего не говорил... нормальных средств я так и не нашёл...

Ответить

Номер ответа: 54
Автор ответа:
 Sharp


Лидер форума

ICQ: 216865379 

Вопросов: 106
Ответов: 9979
 Web-сайт: sharpc.livejournal.com
 Профиль | | #54
Добавлено: 30.12.06 18:32
Ты просто не видел базы с 100 000 - 200 000 хранимых процедур. А они есть.

Ага, и база становится от этого легче? И где, кстати, нужно столько ХП? И кто их пишет? И действительно ли все они нужны?

Увольте; либо полностью свой, либо покупка качества.

Ты думаешь, что за деньги продукт всегда качественный? :)) Посмотри на Windows :)

То есть нагрузка базы данных хранимыми процедурами - это есть ее утяжеление?

А ты хочешь сказать, что добавляя код ХП к БД, ты ее тем самым облегчаешь? Ничего не удаляя взамен?

И вообще зачем писать код для преобразования курсора в xml - это настраивается (по крайней мере в SQL Server) мышкой за несколько минут

Раз это делается в SQL Server несложно, значит, это и написать несложно, значит, это уже написано. А т.к. этим пользуется больше человек, оно написано качественнее, даже если бы оно было закрытым.

код, который не работает

У тебя мания

То чть предлагает Microsoft для отладки TSQL нельзя назвать неудобной.

Отладка других языков там удобнее - вывод: я не мазохист и буду писать на том, что легче писать, отлаживать и сопровождать.

Пробовал тот же PHP пошагово выполнять?

Пробовал, и в Zend пробовал, и в VS.PHP - отличные редакторы, ничем не уступающие таковым для того же ASP.NET. И отладка есть, и интеллисенс и все, что нужно. Может, просто кое-кто ленится заглянуть в гугл и посмотреть, что давным-давно придумали умные люди для облегчения твоего же труда? Так это, извините, не проблема PHP, это твоя проблема.

Ответить

Номер ответа: 55
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #55 Добавлено: 30.12.06 18:46
Ага, и база становится от этого легче? И где, кстати, нужно столько ХП? И кто их пишет? И действительно ли все они нужны?

Sharp, не нужно себя дескредитировать.
В то время как весь мир пишет хранимые процедуры, господин Sharp продолжает утверждать что они утяжеляют базу.

Одно из основных преимуществ ХП - это увеличение скорости за счет особенностей того как SQL Server работает с хранимыми процедурами и динамическими SQL-запросами.

Вот тебе пример элементарной ХП (взята из стандартной схемы ASP .NET.

ALTER Procedure Stored_Procedure_Name
AS
BEGIN
    ;DECLARE @ApplicationName      nvarchar(256)
    ;DECLARE @ApplicationId        uniqueidentifier



    SELECT  @ApplicationId = ApplicationId FROM dbo.aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName

    IF(@ApplicationId IS NULL)
    BEGIN
        ;DECLARE @TranStarted   bit
        SET @TranStarted = 0

        IF( @@TRANCOUNT = 0 )
        BEGIN
        BEGIN TRANSACTION
        SET @TranStarted = 1
        END
        ELSE
         SET @TranStarted = 0

        SELECT  @ApplicationId = ApplicationId
        FROM dbo.aspnet_Applications WITH (UPDLOCK, HOLDLOCK)
        WHERE LOWER(@ApplicationName) = LoweredApplicationName

        IF(@ApplicationId IS NULL)
        BEGIN
            SELECT  @ApplicationId = NEWID()
            INSERT  dbo.aspnet_Applications (ApplicationId, ApplicationName, LoweredApplicationName)
            VALUES  ;(@ApplicationId, @ApplicationName, LOWER(@ApplicationName))
        END


        IF( @TranStarted = 1 )
        BEGIN
            IF(@@ERROR = 0)
            BEGIN
        SET @TranStarted = 0
        COMMIT TRANSACTION
            END
            ELSE
            BEGIN
                SET @TranStarted = 0
                ROLLBACK TRANSACTION
            END
        END
    END
END

Можешь на php написать аналогичный код? Как думаешь какой будет быстрее выполняться?

Ты думаешь, что за деньги продукт всегда качественный? :)) Посмотри на Windows :)

Да что ты преципился к этому Windows? Код Windows и код SQL пишут разные команды, причем первая работает на 3, вторая на 5+.

А ты хочешь сказать, что добавляя код ХП к БД, ты ее тем самым облегчаешь? Ничего не удаляя взамен?

Да! Я ложу в базу данных хранимые процедуры, разумеется, теряю на жестком диске десятки килобайт для хранение кода хранимой процедуры и кеша планов выполнения, и получаю увеличение быстродействия, изоляцию логики, упрощение управлением полномочий и т.п.

Раз это делается в SQL Server несложно, значит, это и написать несложно, значит, это уже написано. А т.к. этим пользуется больше человек, оно написано качественнее, даже если бы оно было закрытым.

Походу знания моего ВУЗа тебе действительно пригодились бы...

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

Отладка других языков там удобнее - вывод: я не мазохист и буду писать на том, что легче писать, отлаживать и сопровождать.

То есть по*й на скорость, главное чтоб было удобнее всего отлаживать?

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

Ответить

Номер ответа: 56
Автор ответа:
 Artyom



Разработчик

Вопросов: 130
Ответов: 6602
 Профиль | | #56 Добавлено: 30.12.06 18:48
Вот тебе пример элементарной ХП (взята из стандартной схемы ASP .NET

Прошу прощения это не совсем та процедура - это немного измененная ее копия, вот код оригинальной процедуры:


ALTER PROCEDURE [dbo].aspnet_Applications_CreateApplication
    @ApplicationName      nvarchar(256),
    @ApplicationId        uniqueidentifier OUTPUT
AS
BEGIN
    SELECT  @ApplicationId = ApplicationId FROM dbo.aspnet_Applications WHERE LOWER(@ApplicationName) = LoweredApplicationName

    IF(@ApplicationId IS NULL)
    BEGIN
        ;DECLARE @TranStarted   bit
        SET @TranStarted = 0

        IF( @@TRANCOUNT = 0 )
        BEGIN
        BEGIN TRANSACTION
        SET @TranStarted = 1
        END
        ELSE
         SET @TranStarted = 0

        SELECT  @ApplicationId = ApplicationId
        FROM dbo.aspnet_Applications WITH (UPDLOCK, HOLDLOCK)
        WHERE LOWER(@ApplicationName) = LoweredApplicationName

        IF(@ApplicationId IS NULL)
        BEGIN
            SELECT  @ApplicationId = NEWID()
            INSERT  dbo.aspnet_Applications (ApplicationId, ApplicationName, LoweredApplicationName)
            VALUES  ;(@ApplicationId, @ApplicationName, LOWER(@ApplicationName))
        END


        IF( @TranStarted = 1 )
        BEGIN
            IF(@@ERROR = 0)
            BEGIN
        SET @TranStarted = 0
        COMMIT TRANSACTION
            END
            ELSE
            BEGIN
                SET @TranStarted = 0
                ROLLBACK TRANSACTION
            END
        END
    END
END

Ответить

Страница: 1 | 2 | 3 | 4 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам